相关疑难解决方法(0)

MSTest显示复合布尔表达式的部分代码覆盖率

从微软的文档中,部分覆盖的代码是"......其中一些代码块没有被执行." 我非常难过这个(简化为简洁):

鉴于此方法:

public List<string> CodeUnderTest()
{
    var collection = new List<string> { "test1", "test2", "test3" };
    return collection.Where(x => x.StartsWith("t") && x == "test2").ToList();
}
Run Code Online (Sandbox Code Playgroud)

而这个测试:

[TestMethod]
public void Test()
{
    var result = new Class1().CodeUnderTest();
    CollectionAssert.Contains(result, "test2");
}
Run Code Online (Sandbox Code Playgroud)

代码覆盖率结果显示表达式x.StartsWith("t") && x == "test2仅部分涵盖.除非编译器或CLR有某种急切的条件匹配东西,否则我不确定这是怎么可能的,但也许我只需要解释它.

c# unit-testing mstest code-coverage

10
推荐指数
1
解决办法
2590
查看次数

标签 统计

c# ×1

code-coverage ×1

mstest ×1

unit-testing ×1