В моей тестовой программе в Nunit, я хочу проверить, что она получает сообщение Argument Exception, проверяя сообщение.
[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");
}
unit test все еще прошел, независимо от того, изменил ли я сообщение.
Как мне это сделать? Или нет таких вещей в С#. Мой коллега сказал, что есть такие варианты в Ruby и RSPEC, но он не уверен на 100% на С#.