我正在使用JUnit 4,Maven 2和最新的Eclipse.问题很简单:我想在执行测试之前执行一些设置(连接到数据库).
我在许多不同的地方尝试过@BeforeClass,但Eclipse和Maven都忽略了这一点.有关完成此初始设置的任何帮助吗?
谢谢!
public abstract class BaseTestCase extends TestCase {
@BeforeClass
public static void doBeforeClass() throws Exception {
System.out.println("No good @BeforeClass");
// DO THE DATABASE SETUP
}
}
Run Code Online (Sandbox Code Playgroud)
现在扩展BaseTestCase的测试:
public class LoginActionTest extends BaseTestCase {
@Test
public void testNothing() {
System.out.println("TEST HERE");
assertEquals(true, true);
}
}
Run Code Online (Sandbox Code Playgroud)
Maven和Eclipse只是忽略了我的@BeforeClass ??? 在测试之前执行设置的任何其他方式?
Geo*_*uba 11
塞尔吉奥,你是正确的扩展TestCase导致问题.如果扩展TestCase,JUnit会将您的测试类视为旧的(前JUnit 4类)并选择org.junit.internal.runners.JUnit38ClassRunner运行它.JUnit38ClassRunner不了解@BeforeClass注释.查看runnerForClass方法AllDefaultPossibilitiesBuilder和runnerForClass方法的源代码以JUnit3Builder获取更多详细信息.
注意:此问题与Eclipse或Maven无关.
| 归档时间: |
|
| 查看次数: |
7349 次 |
| 最近记录: |