gpt4 book ai didi

nunit - 断言从 NUnit 到 MS TEST 的异常

转载 作者:行者123 更新时间:2023-12-03 21:07:35 24 4
gpt4 key购买 nike

我有一些测试,我正在检查异常中的参数名称。
我如何在 MS TEST 中写这个?

ArgumentNullException exception = 
Assert.Throws<ArgumentNullException>(
() => new NHibernateLawbaseCaseDataLoader(
null,
_mockExRepository,
_mockBenRepository));

Assert.AreEqual("lawbaseFixedContactRepository", exception.ParamName);

我一直希望有更简洁的方法,这样我就可以避免在测试中使用 try catch 块。

最佳答案

public static class ExceptionAssert
{
public static T Throws<T>(Action action) where T : Exception
{
try
{
action();
}
catch (T ex)
{
return ex;
}

Assert.Fail("Expected exception of type {0}.", typeof(T));

return null;
}
}

您可以使用上面的扩展方法作为测试助手。以下是如何使用它的示例:

// test method
var exception = ExceptionAssert.Throws<ArgumentNullException>(
() => organizations.GetOrganization());
Assert.AreEqual("lawbaseFixedContactRepository", exception.ParamName);

关于nunit - 断言从 NUnit 到 MS TEST 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8213569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com