我在 .NET 中有一个类,它创建并启动一个新类System.Threading.Tasks.Task
,如下所示:
public class ScheduledTask
{
private IFoo _foo;
public ScheduledTask(IFoo foo)
{
_foo = foo;
}
public void Start()
{
_task = new Task(() => Run());
_task.Start();
}
public void Stop(TimeSpan timeout)
{
var taskCompletedNormally = _task.Wait(timeout);
if (taskCompletedNormally)
{
_task.Dispose();
_task = null;
}
}
private void Run(){ // Do some work}
}
如何对C#.Net 中的ScheduledTask.Start
和方法进行单元测试?ScheduledTask.Stop
哪些框架可用于此类单元测试,哪些是单元测试线程(或任务并行性)的最佳实践?