Entegrasyon Test Paketim var. IntegrationTestBase
Tüm testlerimin uzatılması için bir dersim var . Bu temel sınıf, API ve DB bağlantılarını kurmak için bir @Before
( public void setUp()
) ve @After
( public void tearDown()
) yöntemine sahiptir. Yaptığım şey, her test senaryosunda bu iki yöntemi geçersiz kılmak ve super.setUp()
ve super.tearDown()
. Ancak bu, birisi amiri aramayı unutursa veya onu yanlış yere koyarsa ve bir istisna atılırsa ve sonunda süper çağırmayı unutursa sorunlara neden olabilir.
Ne yapmak istediğinizi yapmak olduğunu setUp
ve tearDown
temel sınıf yöntemleri final
ve daha sonra sadece kendi açıklamalı ekleyin @Before
ve @After
yöntemler. Bazı ilk testler yapmak, her zaman şu sırayla çağırıyor gibi görünüyor:
Base @Before
Test @Before
Test
Test @After
Base @After
ancak siparişin garanti edilmediği ve sorunlara neden olabileceği konusunda biraz endişeliyim. Etrafıma baktım ve konu hakkında hiçbir şey görmedim. Bunu yapıp yapamayacağımı ve sorun yaşamadığımı bilen var mı?
Kod:
public class IntegrationTestBase {
@Before
public final void setUp() { *always called 1st?* }
@After
public final void tearDown() { *always called last?* }
}
public class MyTest extends IntegrationTestBase {
@Before
public final void before() { *always called 2nd?* }
@Test
public void test() { *always called 3rd?* }
@After
public final void after() { *always called 4th?* }
}
MyTest
bir eksikextends
?