mys*_*cks 2 java junit unit-testing
所以我一直在使用ExpectedException来预期抛出异常的types、messages、causes 甚至matchers。
但是为什么没有一个实用方法来简单地完全期望一个异常对象呢?当然,我最好测试对象相等性(假设我知道我在做什么)而不是测试它的所有单个属性?毕竟,如果 amethod A仅仅抛出它的委托人method B抛出(method A调用method B)的任何异常,那么我模拟method B抛出异常会容易得多,比如说Exception A并检查我method A的测试方法中抛出的确切对象?
那么为什么不提供这样的实用方法呢?
当然,我可以method A在我的测试中包装我的调用并捕获异常来测试对象,但同样可以说types、messages 和causes - 我想目标是使测试代码看起来更具可读性它没有 try/catch 块。
只需使用ExpectedException#expect(Matcher)并提供Matcher检查引用或对象相等性的 。您可以使用org.hamcrest.core.Is#is(Object), 传入Exception它将抛出的确切实例(如果这是您可以控制的)。
| 归档时间: |
|
| 查看次数: |
572 次 |
| 最近记录: |