【发布时间】:2019-11-29 06:30:17
【问题描述】:
我使用 NUnit 3 TestCaseData 对象将测试数据提供给测试,并使用 Fluent Assertions 库检查抛出的异常。
通常我的 TestCaseData 对象包含两个参数 param1 和 param2 用于在测试中创建某个对象的实例,然后我调用应该/不应该抛出异常的方法,如下所示:
var subject = new Subject(param1, param2);
subject.Invoking(s => s.Add()).Should().NotThrow();
或
var subject = new Subject(param1, param2);
subject.Invoking(s => s.Add()).Should().Throw<ApplicationException>();
有没有办法将NotThrow() 和Throw<ApplicationException>() 部分作为特定条件传递到TestCaseData 对象的第三个参数中以用于测试?基本上我想参数化测试的预期结果(它可能是某种类型的异常或根本没有异常)。
【问题讨论】:
标签: nunit-3.0 fluent-assertions parameterized-tests