您好我们正在开发一个应用程序,我们需要连续执行多个任务,这可能需要很长时间。因此,我们创建了一个班级,它是一个"跑步者"在那里我发送了他需要做的任务清单,他一直这样做直到完成。因此,如果在运行所有任务时出现异常,他只需将其抛给log4net,这样我们就可以调试一次失败的所有任务。所以我对单元测试没有实验,我现在尝试使用它。我的任务是多文件读取。我发送了许多不同上下文的文件,所以如果我改变了某些内容并且它不起作用,那将是我的错。但是,如果我使用log4net处理它,如何知道是否会出现异常?我该怎么做才能实现呢?
class Runner{
void addTask(...);
void execute(){
foreach(var task in ListOfTask){
try
{ DoSomeThing(); }
catch(Exception ex)
{ Log.Error("Message", ex); }
}
}
class XMLReader{
string Read();
}
[TestClass]
class Test{
[TestMethod]
[DeploymentItem("filePath1")]
[DeploymentItem("filePath2")]
[DeploymentItem("filePath3")]
void TestRunner(){
Runner r = new Runner();
r.addTask("filePath1");
r.addTask("filePath2");
r.addTask("filePath3");
r.execute();
}
}
答案 0 :(得分:2)
你不能这样,因为你只记录异常。您应该返回某种结果(“ListOfResult”也许,如果一个任务失败但你希望其余的任务继续),或者如果任何失败应该停止该过程,则抛出异常。