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% 確信があるわけではありません。