2

为什么会发生这种情况?我的测试中没有代码:

[TestClass]
public class ApiClientTest
{
    [TestMethod]
    public void ApiTestSampleUseCase()
    {
        TestCleanup();
    }

    public void TestCleanup()
    {
        //DeleteUsers();
    }
}

然而,当我运行它时,大约需要 1 分钟才能完成。它过去了,它只需要永远。我在 DeleteUsers 之后设置了一个断点,它立即被击中;延迟是在测试完成之后。

4

1 回答 1

1

检查您的bin目录 - 由于某些难以理解的原因,MSTest 每次运行测试时都会将所有引用的程序集复制到一个新目录中。(不过,这些是可以安全删除的。)也许它还会做其他事情,导致它在多次运行后变慢......根据这个答案这个文档,你可以禁用这种行为。

如果可能,我建议切换到NUnit ,最好与FluentAssertions结合使用(由于 MSTest 中奇怪的设计决策数量不少,例如这种行为,缺乏易于使用的参数化测试,以及事实即使[TestInitialize]抛出异常,测试也会运行)。

于 2013-05-19T12:02:47.013 回答