小编Sam*_*est的帖子

JUnit:测试某种类型的异常

我想知道我是否可以测试(使用JUnit)异常生成的特定消息被抛出而不仅仅是"是否"抛出异常.例如,JunitTest.java代码实际上将通过测试,因为抛出了异常,但如果我还想测试异常生成的字符串是否等于:"测试异常:整数可能不是负..."这是可能的?

TestException.java

public class TestException extends Exception {  
    /**
     * @param message informative message about the problem found
     */
    public TestException (String message) {
        super("Test Exception: " + message);
    }
}
Run Code Online (Sandbox Code Playgroud)

Test.java

public void function(Integer mustBePositive) throws TestException {
    if (mustBePositive < 0) {
        throw new TestException("Integer may not be negative..");
    }
    else {
        mustBePositive = myNum
    }
}
Run Code Online (Sandbox Code Playgroud)

JunitTest.java

import org.junit.*;

public class JUnitTest {

    @Test(expected = TestException.class)
    public void functionTest() throws TestException {
        function(-1);
    }
}
Run Code Online (Sandbox Code Playgroud)

java junit unit-testing exception

3
推荐指数
2
解决办法
9181
查看次数

标签 统计

exception ×1

java ×1

junit ×1

unit-testing ×1