C# 即使发生错误,是否可以继续运行nunit脚本

C# 即使发生错误,是否可以继续运行nunit脚本,c#,loops,nunit,C#,Loops,Nunit,我有一个测试,它从csv文件中读取输入,并根据循环中的输入执行所有测试,还为执行的每一行写回相同文件中的结果。问题是,即使单个输入数据中出现错误,也无法运行整个输入数据。即使其中一个输入数据失败,也可以继续运行测试 请导游。 谢谢 代码 [测试,类别(TestConstants.DataCategoryName)] public void GenerateTestData_Book() { 字符串csv_file_path=GetAppSettingsEntry(“CSVResourcesPat

我有一个测试,它从csv文件中读取输入,并根据循环中的输入执行所有测试,还为执行的每一行写回相同文件中的结果。问题是,即使单个输入数据中出现错误,也无法运行整个输入数据。即使其中一个输入数据失败,也可以继续运行测试

请导游。 谢谢

代码

[测试,类别(TestConstants.DataCategoryName)]
public void GenerateTestData_Book()
{
字符串csv_file_path=GetAppSettingsEntry(“CSVResourcesPath”,true);
DataTable csvData=GetDataFromCSVFile(csv文件路径);
对于(int i=0;ix.Code+“”+x.Text));
UpdateColumnicsvFile(csv_文件_路径,错误,错误,Convert.ToString(csvData.Rows[i][0]);
}
其他的
{
//在文件中保存图书id
updateColumnicsvFile(csv_file_路径,引用,Convert.ToString(response.Book.Bookid),Convert.ToString(csvData.Rows[i][0]);
}
}
}

}

您应该在for循环中加入一个try-catch。 如果希望测试因错误而失败,可以在循环之前存储一个声明的bool,并在循环之后生成assert.isTrue

大概是这样的:

 public void GenerateTestData_Book()
    {
    string csv_file_path = GetAppSettingsEntry("CSVResourcesPath", true);
    DataTable csvData = GetDataFromCSVFile(csv_file_path);

    bool hasError = false;
    for (int i = 0; i < csvData.Rows.Count; i++)
    {
        try
        {
            //do your stuff here....
        }
        catch (System.Exception)
        {
            hasError = true;
        }
    }

    Assert.IsFalse(hasError);
}
public void GenerateTestData_Book()
{
字符串csv_file_path=GetAppSettingsEntry(“CSVResourcesPath”,true);
DataTable csvData=GetDataFromCSVFile(csv文件路径);
bool hasrerror=false;
对于(int i=0;i
请显示用于运行测试的代码,就像用于单独测试输入文件的案例一样。
 public void GenerateTestData_Book()
    {
    string csv_file_path = GetAppSettingsEntry("CSVResourcesPath", true);
    DataTable csvData = GetDataFromCSVFile(csv_file_path);

    bool hasError = false;
    for (int i = 0; i < csvData.Rows.Count; i++)
    {
        try
        {
            //do your stuff here....
        }
        catch (System.Exception)
        {
            hasError = true;
        }
    }

    Assert.IsFalse(hasError);
}