Ofiste Junit'i kullanmaya çalışıyorum (JVM 1.4): TestCase'u genişleten bir çok sınıfı yazdım ancak TestSuite'u genişleten herhangi bir sınıf yazmamıştım. Sorun teste çok iyi bir TestSuite ne anlamıyorum ki:TestSuite'inizi nasıl düzenlersiniz?
bir paketin kamu sözleşmesi (bir paketin tüm kamu sınıfının tüm kamu yöntemi).
Örnek: FirstClass ve SecondClass aynı paket aaa, mevcutpublic class TestPackageAAA extends TestSuite{ //... public void testSomething{ testSuite.add(new TestFirstClass()); testSuite.add(new TestSecondClass()); } //... }
.
İşlevsel süreç, entegre edilmemiş tek bir sınıfın bir listesi olarak tercüme edildi mi?
(webapp bir güncelleme ve silme işlemi gibi) BBB adlı bir kullanıcı işleminin ilk adımı olarak FirstClass ilepublic class TestProcessBBB extends TestSuite{ //... public void testSomething{ testSuite.add(new TestFirstClass()); testSuite.add(new TestSecondClass()); } //... }
, aynı işlemin vs vs. ikinci adımında, SecondClass (bu testte, FirstClass ve SecondClass iletişim kurma).
TestSuite'inizi nasıl düzenlersiniz? Birinci veya ikinci yoldan mı? Ya da başka bir şekilde?
EDIT: Hatalıyım çünkü örnekte aynı adı tekrar ediyorum çünkü ergo kafa karıştırıcı. Bu örnek konfigürasyonu olan:
src
|-->{package} **AAA**
|--->{class}FirstClass
|--->{class}SecondClass
|-->{package} **XYZ**
|-->{class}ThirdClass
Test
{package} **AAA**
|--->{class}TestFirstClass extends TestCase
|--->{class}TestSecondClass extends TestCase
|-->{package} **XYZ**
|-->{class}TestThirdClass extends TestCase
- Birinci yol:
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
- İkinci yol: test kök yerleştirilir
TestSuiteBBB (dizin), işlevsel bir sürecin yürütülmesine (örneğin: bir e-ticaret web sitesinin yöneticisi için planlanmış bir e-posta göndererek) ayrılan tüm TestCase'in bir bileşimidir. TestSuiteBBB, FirstClass ve ThirdClass yöntemlerini çağırır ve her sınıf diğer sınıfın yöntemlerini çağırmaz.
testSuite.add(new TestFirstClass());
testSuite.add(new TestThirdClass());
JUnit (Eclipse ve vadede şimdi onları kodlu) beni hem şekilde yapıyor sağlar: Ne tercih edersiniz?Bu gerçekten sorularınıza cevap verirse
paketleri :)
Tamam, bir IDE (ve bu ilk durum) kullanıyorsanız, bu doğrudur. Tecrübem yok: Test Testini herhangi bir TestSuite (paket görünümünde) içine koymanın tek yolu olduğunu mu söylüyorsunuz? – alepuzio
Hayır, yapılandırmanıza bağlı. Örneğin, projenizi oluşturmak için ANT kullanıyorsanız, bir JUnit hedefi belirtirsiniz ve bu hedefte testlerinizi belirlersiniz. Daha fazla bilgi için bu makaleye göz atın: http://ideoplex.com/id/25/ant-and-junit Programınızı istediğiniz gibi ayarlayabilirsiniz. Ama test denen bir klasöre sahip olmak daha iyi olurdu. Bu ayrıca, projenizi dağıtmadan önce sınamaları kaldırmanıza olanak tanır. – iuiz