编辑2016-10-19:
最初的问题是关于VS2015 CTP6与XUnit测试运行器特有的问题.从答案中可以清楚地看出,Visual Studio中的单元测试发现存在更广泛的问题,这可能在许多不同的情况下发生.我已经清理了我的问题以反映这一点.
我还在我自己的答案中加入了一个脚本,我今天仍然使用它来解决类似的问题.
许多其他答案也证明有助于更好地理解VS测试运行器的复杂性.我感谢人们仍在分享他们的解决方案!
原始问题2015-04-10:
从昨天开始,我的Visual Studio Test Explorer将不会发现任何项目的测试.建筑后也没有显示绿色装载栏.
当我转到Visual Studio Test Explorer并单击"全部运行",或者当我右键单击任何测试方法并选择"运行测试"时,我在输出窗口中得到以下内容:
Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我在Windows 10 Pro Technical Preview上运行Visual Studio 2015 CTP 6,构建10041. .NET Framework版本似乎并不重要 - 它发生在4.0,4.5.2和4.6.
我尝试使用以下测试框架,所有这些都给出了相同的行为:
Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0xunit v2.1.0-beta1-build2945 同 xunit.runner.visualstudio v2.1.0-beta1-build1051NUnit v2.6.4 同 NUnitTestAdapter v2.0.0我在GitHub(xunit)上发现了一个类似的问题:无法通过xunit团队的评论发现测试#295:
请注意,据报道,Visual Studio 2015 CTP 5被一般的单元测试(不仅仅是xUnit.net)打破了,所以不要指望它可以工作.
此外,请确保您已清理Visual …
unit-testing xunit test-runner visual-studio-2015 visual-studio-2017
问:是否可以在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)
软件版本:
我正在开发一个C++项目,并开发了一些测试用例.我能够执行测试用例,直到所有测试用例突然从测试资源管理器中消失.我的意思是说测试资源管理器中没有显示测试方法,即使测试项目编译正确.
我按照这里给出的步骤没有成功.
这些是我做过的事情:
%temp%文件夹的内容.X64.(Test>Test Settings>Default Processor Architecture>X64)Restarted VS2015.Restarted 系统.devenv /safemode(在命令提示符下),没有运气.devenv /ResetSettings(在命令提示符下),没有运气.笔记:
问题:我的 NUnit 测试没有显示在测试资源管理器中。
我目前在 64 位机器上运行 Visual Studio Express 2013。目前,我已经安装了“包含 NUnit 2.6.4 框架的 NUnit TestAdapter”。框架版本为2.6.4.14350,而测试适配器版本为2.0.0.0
按照这两个线程(安装了测试适配器的测试资源管理器中未显示 NUnit 单元测试并且Visual Studio 2013 未发现单元测试)进行故障排除:
目前,我的测试项目(构建 > 配置管理器)的构建设置“Active Solution Platform”设置为 64 位。
“默认处理器架构”指向“测试”>“测试设置”下的 64 位。
在测试项目中指定了对 NUnit 框架和 TestAdapter 的引用。
[TestFixture]并[Test]在正确的位置下面是我的代码:
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hello_World_Testing
{
[TestFixture]
public class HelloWorldTesting
{ …Run Code Online (Sandbox Code Playgroud) c++ ×2
unit-testing ×2
64-bit ×1
compilation ×1
mstest ×1
nunit ×1
resharper ×1
test-runner ×1
xunit ×1
xunit.net ×1