Bu test kütlesinin büyük bir kısmı Guava toplama uygulamaları içindir. Koleksiyon arayüzlerini ayrıntılı bir şekilde test eden genel testler yazdılar ve bu uygulama başına bir paket oluşturuyor. Örneğin, denilen sınıflar için, bakınız CollectionAddAllTester
, ListIndexOfTester
.
Bunların hepsi Guava'nın bir parçası olan testlib adlı bir kütüphane tarafından desteklenmektedir. Bu oldukça genel. Herhangi bir arayüz için genel testler yazmayı destekler (sadece koleksiyonlar için değil). Belirtebilirsiniz Feature
olası uygulamalarının s ve bunları test (örneğin sizin seti farklı bir sonuç beklemek unmodifiable ise set.add()
), ve size uygulama özellikleri desteklediğini belirttiğiniz testleri çalıştırdığınızda.
4 ünite JUnit 3'e dayanmaktadır. Normalde, TestCase
adlandırılmış yöntemlerle dolu bir sınıfa sahipsiniz testSomething()
ve JUnit bunları yansıtıcı olarak çalıştırır. Testlib kütüphanesi, bu testlerin uygulanmasına kancalar, böylece yaşam döngüsü şöyle görünür:
- Test etmek istediğiniz her uygulama için
- Her (uygulanabilir) test yöntemi için
- oluştur
TestCase
örneği
- Sıfırla
TestSubjectGenerator
- Bu, gerçekten test konusunu oluşturduğunuz yerde genişlettiğiniz testlib arabirimidir.
- Test yöntemini yansıtıcı olarak çalıştırın. Bu yöntem sırasında
getSubjectGenerator()
test konusuna erişim sağlar
Anahtar biti, genel test senaryosuna belirli bir test konusunu enjekte etmelerini sağlayan ekstra başlatma aşamasıdır.
Ben bir yazı yazdım kendi arayüzleri için testlib üreten suit yazma konusunda.
(Aynı zamanda sqa sitesinde de aynı soruya gönderildi .)