|
1
35
根据文件,如果没有,测试将失败
在这种情况下,您应该恢复到传统(pre-TestNG)模式:
|
|
|
2
11
使用
或者,如果您不想检查异常消息,只需执行以下操作即可
这样,就不需要使用难看的try-catch块,只需在测试中调用异常抛出器方法。 |
|
|
3
2
在我看来,最好用 Guard Assertions ,尤其是对于这样的测试(假设测试不是冗长复杂的,这本身就是一种反模式)。使用guard断言将强制您以以下任一方式设计SUT:
但在我们考虑上述可能性之前,请再看一下以下片段:
|
|
|
4
2
如果您使用的是java7和testng,那么这可以用于java8,也可以使用lambda表达式
|
|
|
5
0
为什么不使用链接到的博客文章中提到的try/fail/catch模式呢? |
|
|
6
0
catch-exception 可能提供了测试预期异常所需的所有内容。 |
|
|
7
0
或者,您可以根据建议更改api here :
我更新了push方法,使其在操作通过或失败时返回true或false,而不是返回void。这个 Java Stack .push(item)返回您尝试插入的元素,而不是void。我不知道为什么。但是,它也从返回void的Vector继承了类似的方法addElement(item)。
使push(item)返回布尔值或void的一个小缺点是,您被这些返回类型困住了。如果您返回Stack,那么您可以像这样方便地编写代码
我想我现在摆脱了笨重的try-catch块和TestNg-expectedExceptions。希望我的设计现在很好。 |