我有一个从浏览器执行时工作正常的服务,但是在单元测试时它失败了。
单元测试
[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>
方法。
我错过了什么?