C# · 12月 28, 2021

c# – MOQ – 验证异常被抛出

@H_502_1@我正在使用最小起订量框架进行测试.
我有一个场景,我期望抛出一个故障异常.
如何验证它是否被抛出? public void Koko(List<string?> list) { foreach(string? str in list) { if (str != null) someProperty.Foo(str); else throw new FormatException(); } }

提前致谢.

解决方法 如果您想要验证异常(由您自己的代码),那么Moq不是您的首选工具.
只需使用可用的单元测试框架之一.

的xUnit / NUnit的

Assert.Throws<SomeException>(() => foo.Bar());

流利的断言

Action act = () => foo.Bar());act.ShouldThrow<SomeException>()

http://fluentassertions.codeplex.com/documentation

http://www.nunit.org/index.php?p=exceptionAsserts&r=2.6.2