[英]tests failing when “Run All Test in Solution” is used
我正在尝试让单元测试成功运行我的MVC 4 Web应用程序项目。
当我单独运行测试类时,所有的测试都通过了,当我在解决方案中运行所有测试时只有2/9次通过,我点击了Debug Checked Tests,当我再次点击它们时它们都通过了它们都通过了。
当我将项目检入TFS时,这个问题也被复制,我已经设置了项目构建的持续集成,运行测试并在完全相同的测试上失败。
我得到的错误是*“名为''的路线已经在路线集合中”
有没有人知道为什么会发生这种情况?
在每个类中,我有一个[TestInitialize]块,如下所示:
[TestInitialize]
public void Setup()
{
var builder = new TestControllerBuilder();
controller = new MyController();
builder.InitializeController(controller);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
当我没有包含TestControllerBuilder时,我在类中有类似的错误,可能是这段代码没有正确运行?
RouteTable.Routes
是静态的,因此每个AppDomain只会初始化一次。
因此,每次运行测试时,您实际上都在尝试重新注册相同的路径。
将路径注册移动到AssemblyInitialize
属性可能会更好,因此它只会在整个测试运行开始时运行一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.