java - 不同情况下的jUnit相同异常

标签 java unit-testing junit

我正在为解析字符串的构造函数编写 jUnit 测试,然后检查许多内容。当有错误的数据时,对于每件事,都会抛出一些带有不同消息的 IllegalArgumentException。 所以我想为它编写测试,但我如何识别抛出的错误? 这是我该怎么做:

@Test(expected=IllegalArgumentException.class)
public void testRodneCisloRok(){
    new RodneCislo("891415",dopocitej("891415"));
}

这就是我想要的样子,但我不知道是否有可能以某种方式写出来:

@Test(expected=IllegalArgumentException.class("error1"))
public void testRodneCisloRok(){
    new RodneCislo("891415",dopocitej("891415"));
}

最佳答案

如果您有 JUnit 4.7 或更高版本,您可以使用这种(优雅的)方式:

@Rule
public ExpectedException exception = ExpectedException.none();

@Test
public void testRodneCisloRok(){
    exception.expect(IllegalArgumentException.class);
    exception.expectMessage("error1");
    new RodneCislo("891415",dopocitej("891415"));
}

关于java - 不同情况下的jUnit相同异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444062/

相关文章:

java - logback 不记录 JUL 精细级别

Python Mock 未正确设置返回值

java - 执行 JUnit 测试用例时出现堆栈溢出错误

java - 从命令行运行 java 类,包括 jar 中的库

java - 致命信号 11 (SIGSEGV) 位于 0x00000000 (code=1) - PhoneGap

java - Java中如何测试一个对象是原始类型还是原始类型数组?

java 泛型 - 一个 impl 类,多个 View

c# - 如何对 64 位 .NET 4.7 项目进行单元测试?

php - PHPUnit 和数据提供者的问题

java - 如何编写单元测试(JUnit)来使用 DAO 类检查数据库连接?