当仅选择单个测试时,Resharper运行所有测试

Bra*_*don 7 resharper mbunit unit-testing

我正在使用Resharper 4.5和Visual Studio 2008以及MBUnit测试,使用ReSharpher运行测试似乎有些奇怪.

在侧面,每个测试方法旁边都有图标,其中包含Run和Debug选项.当我选择Run它时,只显示单次测试的结果.但是我注意到测试需要相当长的时间才能运行.

当我运行Sql Server探查器并开始逐步执​​行代码时,我意识到它不仅运行所选的测试,而且还运行了类中的每一个.是否有任何理由让它看起来像只运行一个单元测试而实际运行它们?

当我只关心一个集成测试时,它会等待所有集成测试的痛苦,有没有办法改变它?

Chr*_*sic 5

我今天刚刚遇到这个,我想我可能已经意识到导致这个bug的原因,我的方法命名方式相似

    [TestMethod]
    public void TestSomething()

    [TestMethod]
    public void TestSomethingPart2()
Run Code Online (Sandbox Code Playgroud)

我看到跑步TestSomething()会跑两个,但跑步TestSomethingPart2()不会.我总结了如果你命名的方法,它将运行测试的方法名称可以发生完全匹配.将我的第二次测试重命名TestPart2Something为此问题后就消失了.


she*_*tie 5

我可以确认这是ReSharper 5.1的一个问题.

从下面的示例代码重现运行测试A(所有测试都将执行); 运行测试AB(除了A之外都将执行); 等等:

[TestMethod]
public void A()
{
    Console.WriteLine("A");
}

[TestMethod]
public void AB()
{
    Console.WriteLine("AB");
}

[TestMethod]
public void ABC()
{
    Console.WriteLine("ABC");
}

[TestMethod]
public void ABCD()
{
    Console.WriteLine("ABCD");
}

[TestMethod]
public void ABCDE()
{
    Console.WriteLine("ABCDE");
}
Run Code Online (Sandbox Code Playgroud)

我花了很长时间来解决这个问题.我将远程调试器连接到开发服务器上,它比我期望的更频繁地打破...

它似乎正在做一个StartsWith而不是像其他人所说的包含.解决方法是没有以另一个测试方法名称开头的测试方法名称.