我有一个类,使用下面的方法获取敲除消息:如何在C#中测试KnockoutUtility?
public IEnumerable<Message> GetKnockoutMessages(Data data)
{
if(data.Messages != null)
{
return data.Messages.Where(m => m.UnderWritingRuleId != null);
}
else
{
return new List<Message>();
}
}
到目前为止,我有一个单元测试,仅部分地覆盖所述单元测试,其是下方。
[TestMethod]
public void TestGetKnockoutMessages()
{
KnockoutUtility knockUtility = new KnockoutUtility();
IEnumerable<Message> messages = knockUtility.GetKnockoutMessages(MockData.Object);
Assert.IsNotNull(messages);
}
这涵盖一切,但return data.Messages.Where(m => m.UnderWritingRuleId != null);
我不知道我会怎样单元测试这种方法来获得100%的覆盖率。
任何帮助,将不胜感激。谢谢
为消息创建假数据源,您知道该数据源可能匹配或不匹配待测方法中的查询,该查询将覆盖至少两个筛选器的测试用例。为[Data]提供[mcve],以及如何为测试设置。 – Nkosi