![]() |
1
5
|
![]() |
2
28
这就是我如何使用junit参数化测试来处理预期的异常:
|
![]() |
3
7
与其他建议相反,我不会在测试中引入任何类型的逻辑——即使是简单的ifs! 你应该有两种测试方法:
不确定JUnit及其基于构造函数的参数化测试是否能够做到这一点。可能需要为此创建两个测试类。使用JUnit Params或TestNG,它们提供了更方便的解决方案。 |
![]() |
4
3
我同意托马克的观点,我会做两个测试。对于不需要异常的情况的第一个测试。对应该导致抛出异常的值的第二次测试(即,如果没有抛出异常,则测试失败)。 下面是一个简单的示例,其中 ExceptionRower.throwAnInstanceException(int)异常 简单地抛出一个 非法数据异常 当提供的int小于-1时。在您的实现中,所有提供的值都应触发异常。
如果你想提供多个参数,那么你可以使用 方法源 恶习a 价值源 为了测试。 |
![]() |
5
1
加布里埃尔,请看看TestWatcher规则(从JUnit4.9开始)。以下是引用的示例代码 http://junit-team.github.io/junit/javadoc/4.11/org/junit/rules/TestWatcher.html :
另一种方法是 ErrorCollector 来自JUnit 4.7: @规则 public ExpectedException throwd=ExpectedException.none();
|
![]() |
6
0
如果你用 catch-exception 与JUnit4的相应注释和规则不同,您的代码如下所示:
|