我有一個叫TestBase
的類和兩個方法setUp()
和tearDown()
。有這些方法代碼:JUnit @After方法在第二次測試之前調用
@Before
public void setUp() throws Exception {
app = ApplicationManager.getInstance();
}
@After
public void tearDown() throws Exception {
app.stop();
}
我也有從TestBase
延伸並具有法@Test
註釋兩類:
public class SubscriptionTests extends TestBase<Subscription> {
@Test
public void testValidSubscription() {
DataGenerator.createTestData(Subscription.class);
Subscription subscription = (Subscription) getFromXml("subscription", new String[]{"email"}).get(0);
app.getModelHelper().createModel(subscription);
}
}
public class UserRegistrationTests extends TestBase<User> {
@Test
public void testRegistrationValidUser() {
DataGenerator.createTestData(User.class);
List<BaseModel> users = getFromXml("user", new String[]{ "email", "name", "password", "passwordConfirmation"});
User validUser = (User) users.get(0);
app.getModelHelper().createModel(validUser);
}}
我試着開始測試。第一個以成功結束,但之後調用方法tearDown()
在TestBase
類(與@After
註釋),我得到SessionNotFoundException
。結果第二個測試不開始。怎麼了?
這是什麼異常?也許你應該找到它,並從那裏開始? – pomkine