繁体   English   中英

Junit:如何进行条件测试?

[英]Junit : how to make conditional tests?

我正在尝试使用JUnit编写条件测试。 我需要测试对象的持久性,如果这些测试通过,请测试通过HTTP方法的访问(以开发REST Web服务)。

目前,我的解决方案如下所示:

public class ApplicationTest {

    @Test
    public void testSuite() {
        final Request requestStatutTest = Request.method(this.getClass(), "insertStatutTest");
        final Result resStatutTest = new JUnitCore().run(requestStatutTest);
        if (resStatutTest.wasSuccessful()) {
            postStatutTest();
            getStatutTest();
            putStatutTest();
            deleteStatutTest();

    }

    public void insertStatutTest() {
    }

    public void postStatutTest() {
    }

    // etc...

}

这是一个好的解决方案吗?

您可以使用org.junit.Assume而不是断言该属性为true:

 @Before
 public void checkAssumptions() {
     org.junit.Assume.assumeTrue(someCondition());
     // or import static org.junit.Assume.* and then just call assumeTrue()
 }

如果条件为假,则将导致测试以违背的假设结束。 正如文档所说

失败的假设并不意味着代码已损坏,但是测试没有提供有用的信息。

与断言失败(即测试失败)相比,这是一个较弱的条件,并且默认的JUnit运行器会将此测试视为忽略。 听起来完全像是您要寻找的东西-如果持久性有效,请运行测试,否则将其忽略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM