gpt4 book ai didi

unit-testing - 异常消息的单元测试

转载 作者:行者123 更新时间:2023-12-02 09:00:21 36 4
gpt4 key购买 nike

是否有一种简单的(属性驱动的)方法可以使以下测试在异常消息上失败。

[TestMethod()]
[ExpectedException(typeof(ArgumentException))]
public void ExceptionTestTest()
{
throw new ArgumentException("BBB");
}

如果异常中的消息是 BBB ,我希望测试通过,但如果是其他消息,则测试失败。我查看了 ExpectedException 属性的第二个参数,但这只是在异常类型不同时在测试报告中显示的一条消息。

我知道我可以尝试 {} catch {} 异常,然后断言消息 IsEqual 与消息,但这感觉很笨拙。

PS。我正在使用 Visual Studio 2008(专业版)的内置单元测试

最佳答案

Visual Studio 中的内置功能很差。看看NUnit 。它的负载更复杂,具有语法帮助程序,可以更轻松地执行特定断言,可以作为调试的一部分运行或独立运行,具有控制台运行程序以及 UI 等。我已经使用它很多年了——这就是生意。异常消息选项显示了它的复杂程度:

public enum MessageMatch
{
/// Expect an exact match
Exact,
/// Expect a message containing the parameter string
Contains,
/// Match the regular expression provided as a parameter
Regex,
/// Expect a message starting with the parameter string
StartsWith
}

不要犹豫:它很复杂,但并不复杂 - 很容易上手。

关于unit-testing - 异常消息的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1679341/

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