AsNoTracking()在单元测试时抛出null异常

时间:2017-04-07 14:34:42

标签: c# .net unit-testing

我有一个从浏览器执行时工作正常的服务,但是在单元测试时它失败了。

单元测试

[TestMethod]
public void TestGetAllCustomFields()
{
    int totalCustomFields = DummyData.GetDummyCustomFields().Count;
    var customFieldsDbSet = HelperMethods.CreateDbSet(DummyData.GetDummyCustomFields());
    var ctx = Substitute.For<DataContext>();

    ctx.CustomFieldsActive.Returns(customFieldsDbSet);
    var target = new CustomFieldsService(ctx, reportService: null);

    var result = target.GetAllCustomFields();

    Assert.IsNotNull(result);
    Assert.AreEqual(totalCustomFields, result.Count);
}

GetAllCustomFields()

public List<CustomField> GetAllCustomFields()
{
    var allCustomFields = _ctx.CustomFieldsActive.AsNoTracking().OrderBy(f => f.Name).ToList();
    return allCustomFields.ToList();
}

GetDummyCustomFields()是一种简单的public static List<CustomField>方法。

我错过了什么?

0 个答案:

没有答案