gpt4 book ai didi

c# - 在 Nunit 中验证 ArgumentException 及其消息,C#

转载 作者:IT王子 更新时间:2023-10-29 04:12:00 25 4
gpt4 key购买 nike

在我的 Nunit 测试程序中,我想通过验证消息来验证它是否正在获取写入参数异常。

    [Test]
public void ArgumentsWorkbookNameException()
{
const string workbookName = "Tester.xls";
var args = new[] { workbookName, "Sheet1", "Source3.csv", "Sheet2", "Source4.csv" };
Assert.Throws(typeof(ArgumentException), delegate { var appargs = new ApplicationArguments(args); }, "Invalid ending parameter of the workbook. Please use .xlsx");

}

经过测试,当我在主程序中修改消息时,这不起作用。

        int wbLength = args[0].Length;

// Telling the user to type in the correct workbook name file.
if (args[0].Substring(wbLength-5,5)!=".xlsx")
{
throw new ArgumentException(
"Invalid ending parameter of the workbook. Please use .xlsx random random");
}

无论我是否更改消息,单元测试仍然通过。

我该怎么做?或者在 C# 中没有这样的东西。我的同事说在 Ruby 和 RSPEC 中有类似的选项,但他对 C# 不是 100% 确定。

最佳答案

使用流畅的界面创建断言:

Assert.That(() => new ApplicationArguments(args), 
Throws.TypeOf<ArgumentException>()
.With.Message.EqualTo("Invalid ending parameter of the workbook. Please use .xlsx random random"));

关于c# - 在 Nunit 中验证 ArgumentException 及其消息,C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816285/

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