首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从java程序运行JUnit4测试

从java程序运行JUnit4测试
EN

Stack Overflow用户
提问于 2010-04-19 14:15:17
回答 2查看 752关注 0票数 1

我想知道如何在java程序中运行一些JUnit4测试。基本上-根据运行时的一些条件,我需要决定使用哪个测试运行器。使用Junit3我可以覆盖TestCase类中的runTest方法--但是在JUnit4测试中不会扩展TestCase类,所以我没有什么可以覆盖的……有没有什么我需要实现的方法...或者别的什么..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-19 15:20:12

下面是一些示例代码:

代码语言:javascript
复制
public void checkTests() throws org.junit.runners.model.InitializationError {
    checkTestClass((Class<?>) MyTestClss.class);
}

private void checkTestClass(Class<?> theClass) throws InitializationError {
    final RunNotifier notifier = new RunNotifier();
    notifier.addListener(new RunListener() {
        @Override
        public void testFailure(Failure failure) throws Exception {
            Assert.fail(failure.getMessage());

        }
    });

    final Runner runner = new BlockJUnit4ClassRunner(theClass);

    runner.run(notifier);
}
票数 0
EN

Stack Overflow用户

发布于 2012-04-12 23:37:10

我遇到的问题是,我必须在每个测试用例之前运行一个方法(它不能是静态的

如果此非静态方法与预处理测试用例有关,则可以通过在测试类中使用@Before注释方法来实现此目的。看一下@Before的行为的Junit4文档。

否则,要简单地触发Junit测试类,您可以使用以下代码:

代码语言:javascript
复制
Runner r = 
try {
  r = new BlockJUnit4ClassRunner(Class.forName(testClass));
} catch (ClassNotFoundException | InitializationError e) {  // FIX if necessary: JDK 7 syntax
  // handle
}
JUnitCore c = new JUnitCore();
c.run(Request.runner(r));

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2665467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档