我正在使用 NUnit 3TestCaseData
对象将测试数据提供给测试,并使用 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
?基本上我想参数化测试的预期结果(它可能是某种类型的异常或根本没有异常)。