我想在我的NUnit单元测试中使用EQATEC探查器,就像我以前使用JetBrains dotTrace以及TestDriven.NET和NUnit一样.有没有办法做到这一点?事实上,似乎我需要将我的UnitTest包装在一个控制台应用程序中,然后使用它上的探查器.
我想在循环中调用两种方法.Step1()必须在调用Step2()之前完成.但是在循环中,Step1()可以在Step2()异步执行时启动.我是否应该等待Step2任务,然后才允许执行任何其他"Step2"任务,就像我在下面的代码中所做的那样?
public MainViewModel()
{
StartCommand = new RelayCommand(Start);
}
public ICommand StartCommand { get; set; }
private async void Start()
{
await Task.Factory.StartNew(() =>
{
Console.WriteLine($"{DateTime.Now:hh:mm:ss.fff} - Started processing.");
for (int i = 0; i < 10; i++)
{
_counter++;
string result = Step1(i);
_step2Task?.Wait(); //Is this OK to do???
Step2(result).ConfigureAwait(false);
}
_step2Task?.Wait();
Console.WriteLine($"{DateTime.Now:hh:mm:ss.fff} - Finished processing.");
});
}
private string Step1(int i)
{
Thread.Sleep(5000); //simulates time-consuming task
Console.WriteLine($"{DateTime.Now:hh:mm:ss.fff} - Step 1 completed - Iteration {i}.");
return $"Step1Result{i}";
}
private …Run Code Online (Sandbox Code Playgroud)