【发布时间】:2011-03-31 07:17:56
【问题描述】:
我有 2 个文件:
xxxxxTest.java [refer this]
public class xxxxxTest extends TestCase {
// Run setup only once
public static Test suite() {
TestSetup setup = new TestSetup(new TestSuite(xxxxxTest.class)) {
protected void setUp() throws Exception {
//Some init which i need only once
}
protected void tearDown() throws Exception {
}
};
return setup;
}
public void testMyFirstMethodTest() {
assertNotNull(do stuff here);
}
}
AllTests.java
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite("Test for xxxxxx");
//$JUnit-BEGIN$
suite.addTestSuite(xxxxxTest.class);
//$JUnit-END$
return suite;
}
}
所以,我的个人测试(xxxxxTest.java)工作正常,完全符合我的要求。当我运行我的测试套件(AllTests.java)时,它失败了,因为我在 xxxxxTest.java 中提供的 setup() 中的 init 是没有被执行。
有什么建议吗?
更新
我在 JUnit 4 中尝试了@BeforeClass。但是,它没有帮助,因为在我的 ssetUp() 方法中,我启动了一个嵌入式 Jetty 服务器 (server.start()),该服务器与我发布的代码一起工作正常,但是当我对@BeforeClass 做同样的事情时,它就不起作用了。
【问题讨论】:
标签: unit-testing junit installation test-suite