如果调用Task.Factory.StartNew,如何使单元测试失败

时间:2014-09-22 17:06:36

标签: c# unit-testing moq

我有一个名为TaskManager的类,它与Task.Factory.StartNew做同样的事情,除了它在任务失败时记录错误

public static class TaskManager
{
    public static Task StartNew(Action action, IUserContextBase userContext)
    {
        return Task.Factory.StartNew(action.Invoke).ContinueWith(t =>
        {
            if (t.Exception != null)
                t.Exception.Handle(ex =>
                {
                    GlobalContainer.Unity.Resolve<IDiagnosticLogHandler>().LogError(userContext, ex, ErrorSeverity.Normal);
                    return true;
                });
        }, TaskContinuationOptions.OnlyOnFaulted);
    }
}

我用我的新实现替换了对Task.Factory.StartNew的所有调用。

我现在需要确保团队中的每个人都使用我的新类而不是Task.Factory.StartNew。我如何确保这一点?我正在考虑为此添加一个单元测试,但单元测试如何查看我的解决方案中的所有项目,以确保如果有人使用Task.Factory.StartNew它会失败?或者有更好的方法吗?我正在使用Moq。

0 个答案:

没有答案