为什么赢得jUnit 4找到我预期的异常?

时间:2016-04-30 22:07:22

标签: java junit junit4

我设法理解Junit 3.8,但老实说,即使我读了超过45分钟的文档,我也不知道junit 4是如何工作的。我没有注释问题,但运行测试。 例如,junit在这个小例子中找不到我预期的异常:

输出:

.E
Time: 0,011
There was 1 error:
1)     testTest(junittests.TestTestCase)java.util.InputMismatchException

Main.java

TestRunner.run(TestTestCase.class);

DemoClass.java

import java.util.InputMismatchException;

public class DemoClass {
    public void test() {
        throw new InputMismatchException();
    }
}

TestTestCase.java

import junit.framework.TestCase;
import org.junit.Before;

import java.util.InputMismatchException;

public class TestTestCase extends TestCase {
    private DemoClass inst;
    @Before
    public void setUp() {
        inst = new DemoClass();
    }
    @org.junit.Test(expected = InputMismatchException.class)
    public void testTest() {
        inst.test();
    }
}

我真的不知道如何使用它。非常感谢提前!

1 个答案:

答案 0 :(得分:0)

试试这样:

您的考试班。

public class DemoClass {
    public void test() {
        throw new InputMismatchException();
    }
}

同一个包中的测试类:

public class DemoClassTest {
    @Test(expected = InputMismatchException.class)
    public void testTest() {
        new DemoClass().test();
    }
}

我可以整天在IntelliJ中运行。