c# - 内部异常的单元测试

标签 c# entity-framework unit-testing vs-unit-testing-framework

我正在使用 Visual Studio 的集成框架编写一些单元测试。我需要编写一些测试用例,这些用例在抛出适当的异常时通过。问题是我需要测试的异常是嵌套在更一般的异常中的内部异常。是否有一些简单的解决方案,或者我是否需要扩展整个功能。我目前正在使用 [ExpectedException] 属性,但在这种情况下它不会有太大用处。

我也很好奇当我们使用 [ExpectedException] 时会发生什么,同时我们在测试本身中也有一些 Assert 逻辑。条件是否被评估(抛出异常并且 Assert 语句被证明是有效的)或测试是否在抛出正确的异常后立即通过?

最佳答案

这不是一个完整的解决方案,但在 NUnit 中,您可以做这样的事情:

 var ex = Assert.Throws<Exception>(() => thing.ThatThrows());
 Assert.That(ex.InnerException, Is.TypeOf<BadException>() );

也许您可以在您的测试框架中?

关于c# - 内部异常的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28151897/

相关文章:

c# - 遍历 DataTable 以查找 List 对象中的元素?

c# - EntityDataSource 查询内连接

javascript - 测试 oAuth 登录流程

C# - 没有带有动态对象建议的 SQL 数据库

Java - 在类中添加支持以允许乘法

entity-framework - EF5 和循环或多级联路径,FOREIGN KEY

unit-testing - 序列包含一个以上的元素 NancyBootstrapperBase 类

angular - 如何在 Angular 4 中使用提供程序模拟组件? - 单元测试

c# - UWP InkCanvas 用颜色填充徒手绘制的形状

c# - Entity Framework 将数千个对象传输到 Elastic Search