Visual Studio 2013 - 无法再与MSTest并行运行xunit测试

CJB*_*JBS 6 resharper mstest xunit.net visual-studio-2013

问:是否可以在VS 2013中与MSTest并行运行xunit测试?如果是这样,我做错了什么?

背景:

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

我无法让xUnit测试工作.经过多次故障排除(试验项目类型,MS Tools版本,仅使用xUnit创建新项目,并尝试使用xUnit版本和依赖项),我能够将问题缩小到将xSTest放在与xUnit测试相同的项目中.这在VS 2012之前有效.

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

可能会发现这是xUnit组件中的一个错误,但我想看看是否有其他人有相反的经验.

注意:几乎所有单元测试都基于xUnit,MSTest只是作为概念验证,以确保在以后使用MSTests的情况下支持它.

代码摘录:

MSTest的:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace YYY.XXX.Test.Unit
{
    [TestClass]
    public class MSTests
    {
        [TestMethod]
        public void Test_Blah()
        {
            Assert.AreEqual(2, 2);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

的xUnit:

using Xunit;

namespace YYY.XXX.Test.Unit
{
    public class FactTests
    {
        [Fact]
        public void Test_Blah()
        {
            Assert.Equal(2, 2);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

软件版本:

  • MS Visual Studio Ultimate 2013 12.0.210051 REL
  • JetBrains ReSharper 8.1
  • xUnit.net运动员为Visual Studion 2012和2013 v0.99.2
  • ReSharper扩展:
    • xUnit.net Test Support v1.3.0
  • xUnit项目包:
    • xunit.1.9.2
    • xunit.extensions.1.9.2

Mar*_*owe 0

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

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

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

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

关键字:executor://xunit/VsTestRunner2