'u kullanırken Bu yaklaşımı, jUnit'i Suite'lerle kurarak aşağıdan kullanın. Her Testclass'da @BeforeClass uygulamasının herhangi bir test yapılmaya başlamadan önce çalıştırılacağı sorunu yaşadık. (Her n TestClass dosyası için @BeforeClass çalışır, sonra çalıştırdıktan sonra, ilk MyTest.class dosyaları @Test) çalıştırmaya başladı.JUnit 4 @BeforeClass & @AfterClass
Bu, çok fazla kaynak ve bellek ayırmamıza neden olur. Düşüncelerim, yanlış olması gerektiğiydi, her bir @BeforeClass, yalnızca gerçek test sınıfının çalıştırılmasından önce değil, Suite başlatıldığında çalıştırılmalı mıydı?
@RunWith(Suite.class)
@Suite.SuiteClasses({ MyTests.class, Mytests2.class, n1, n2, n })
public class AllTests {
// empty
}
public class MyTests { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...
public class MyTests2 { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...
her sınıfların tetkiklerden önce infaz mı veya tüm yalnızca önce çalıştırılan ilk (ama sonra ikinci tüm @BeforeClass çalıştırmadan çalıştırılır tekrar)? İkincisi, @BeforeClass bu testte @Test yöntemlerinden önce çalıştığı için iyi görünmüyor. Her bir sınıfın testinden sonra temizlemediğiniz sürece bellek miktarı değişmeyecektir (ve bunlar sadece tüm paket tamamlandıktan sonra gerçekleşmektedir). –
Şu anda anladığım şey, her @ İlk Harekatın ilk çalıştırıldığıdır. @BeforeClass (Mytests) @BeforeClass (Mytests2) @Test (MyTests) @Test (MyTests2) benim açımdan anda , bu doğru değil. Yanılıyorsam düzeltin, ancak bu soruna neden olan bir şey yanlış ayarlanmış olmalıdır. –