我有一个叫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