测试失败时“在解决方案运行所有测试”使用(tests failing when “Run All T

2019-10-17 16:05发布

我试图让单元测试来为我的MVC 4 Web应用程序项目成功运行。

当我单独运行测试类所有的测试都通过了,当我来到运行所有测试溶液中仅2/9合格,我点击调试经过测试,他们全部通过,当我命中再次运行他们也全部通过。

这个问题也被当我检查项目为TFS复制的,我有他们项目的基础建立持续集成,运行测试,未能完全一样的测试。

我恢复的错误是*“命名为‘’A路线已经路线集合”

没有任何人有任何想法,为什么这可能发生?

在每个I类具有[TestInitialize]块,其显示如下:

[TestInitialize]
public void Setup()
{
    var builder = new TestControllerBuilder();
    controller = new MyController();
    builder.InitializeController(controller);

    RouteConfig.RegisterRoutes(RouteTable.Routes);
}

我曾在一类类似的错误,当我还没有包括TestControllerBuilder,这可能是因为这个代码不正确运行?

Answer 1:

RouteTable.Routes是静态的,因此将只每个AppDomain初始化一次。

所以,每次运行测试时,你实际上是试图重新注册了一遍同样的路线。

你可能会更好的移动路线注册成AssemblyInitialize属性,以便它只会在整个试运行开始时运行一次。



文章来源: tests failing when “Run All Test in Solution” is used