Visual Studio 2013-不再能够与MSTest并行运行xunit测试



Q:在VS 2013中,有可能与MSTest并行运行xunit测试吗?如果是,我做错了什么?

背景:

我已经将.NET解决方案从VS 2012格式迁移到VS 2013。

我无法让xUnit测试正常工作。经过大量的故障排除(尝试项目类型、MS Tools版本、仅使用xUnit创建新项目,以及尝试xUnit版本和依赖项),我能够将问题缩小到将MSTest与xUnit测试放在同一项目中。这以前在VS 2012中也起过作用。

只要我只包含一个用[TestMethod]属性标记的测试方法,就不会运行任何xUnit测试。它们可能出现在VS测试资源管理器或ReSharper单元测试会话面板中,但在未运行测试(对于测试资源管理者)或[?](对于单元测试会话)下显示为[!]。有一个带有[TestClass]属性的类,但而不是一个用[TestMethod]标记的方法仍然允许xUnit测试运行。

这可能是xUnit组件中的一个错误,但我想看看是否有其他人有过相反的经历。

注意:几乎所有的单元测试都是基于xUnit的,MSTest只是作为概念验证,以确保在以后使用MSTest时得到支持。

代码摘录:

MSTest:

using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace YYY.XXX.Test.Unit
{
[TestClass]
public class MSTests
{
[TestMethod]
public void Test_Blah()
{
Assert.AreEqual(2, 2);
}
}
}

x单位:

using Xunit;
namespace YYY.XXX.Test.Unit
{
public class FactTests
{
[Fact]
public void Test_Blah()
{
Assert.Equal(2, 2);
}
}
}

软件版本:

  • MS Visual Studio Ultimate 2013 12.0.210051 REL
  • JetBrains ReSharper 8.1
  • xUnit.net runner for Visual Studion 2012和2013 v0.99.2
  • ReSharper扩展:
    • xUnit.net测试支持v1.3.0
  • xUnit项目包:
    • xunit.19.2
    • xunit扩展1.9.2

Resharper问题xunit/vstestrunner修复:(也花了很长时间才解决这个问题)你可以获得8.2或更高的重拍。

  • 或者-关闭Resharper测试
    在VS中单击Resharper->选项->单元测试-取消选中启用单元测试

测试->测试设置->取消选中保持测试执行引擎运行。

这应该允许您同时运行两个引擎。我认为现在发生的事情是,一旦一个启动,它就会停留,很难让另一个工作

关键字:executor://xunit/VsTestRunner2

最新更新