我有一些使用内置的测试Microsoft.VisualStudio.TestTools.UnitTesting
,但无法让它们运行.
我正在使用visual studio 2012 ultimate.
我有两个项目的解决方案; 在测试方法和引用(版本10.0.0.0,运行时版本v2.0.50727)之前using Microsoft.VisualStudio.TestTools.UnitTesting
,有一个测试,[TestClass]
在类 [TestMethod]
之前Microsoft.VisualStudio.QualityTools.UnitTestFramework
.我试过dot-net framework 3.5,4和4.5其他人给出了重新定位错误.
我试图构建解决方案和项目.测试资源管理器的消息是"构建您的解决方案以发现所有可用的测试".单击"全部运行"以构建,发现和运行解决方案中的所有测试.
所以问题是:如何让visual studio找到测试?
也尝试过这样做:http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx但没有成功:当我被问到时,我陷入了开始部分的困境右键单击并选择create tests
.没有create tests
.
我有这个测试(它编译,但不会出现在测试资源管理器中):
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace tests {
[TestClass]
public class SimpleTest {
[TestMethod]
public void Test() {
Assert.AreEqual("a","a", "same");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我现在已经发现(见下面删除的答案),因为它位于共享驱动器上,但我还不知道如何绕过它.(关于安全设置的事情可能).
自从我安装它以来,我一直在与VS 2017挣扎.现在似乎单元测试只能从命令行"dotnet test"运行.
我的项目是.NET Core 1.1.1.我安装了SDK和1.1.1的框架更新.
我在MSDN上尝试了这个示例(https://msdn.microsoft.com/en-us/library/ms182532.aspx),它也完全失败了.
测试和主项目的所有NuGet包都是最新的.测试项目和主项目都没有错误地构建.测试从命令行成功运行.
有没有人在VS 2017中进行单元测试,如果是这样的话怎么样?
谢谢,约翰
以下是一个不能在GitHub上运行的简单测试项目的示例.这是xUnit的一个例子,但我尝试过在MS测试中构建的NUnit和visual studio.无论我做什么测试或改变我都无法让VS测试运行器找到任何测试.
DEL %TEMP%\VisualStudioTestExplorerExtensions
Microsoft.DotNet.InternalAbstractions
(参见SO帖子)test -> test settings -> default processor architecture
设置为x86问题
任何人都可以在VS2017(.csproj项目文件)中提供.Net Core 1.1.0解决方案的工作示例,其中VS测试资源管理器成功找到单元测试或在给出的示例中向我显示问题.
编辑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.0
xunit v2.1.0-beta1-build2945
同 xunit.runner.visualstudio v2.1.0-beta1-build1051
NUnit 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
我有一个xUnit.net测试如下:
static class MyTestClass
{
[Fact]
static void MyTestMethod()
{
}
}
Run Code Online (Sandbox Code Playgroud)
VS 2012的xUnit插件说:
没有测试发现.
TestDriven.net运行得很好,但提到了Ad hoc:
1次传递,0次失败,0次跳过(参见"任务列表"),耗时0.47秒(Ad hoc)
TeamCity的,xunit.gui.exe
并xunit.console.exe
和Visual Studio还无法找到TestMethod
(我已xunit.runner.visualstudio
安装,VS正在进行一些测试.)
是什么赋予了?
我做了这样的nuget安装:
Install-Package xunit.runner.visualstudio -Version 2.2.0
Run Code Online (Sandbox Code Playgroud)
在我的测试项目上.
我有一个类似的测试:
public class When_Doing_Stuff_I_Want_To_Test
{
[Fact]
public void Can_Do_Stuff()
{
var result = DoStuff();
result.ShouldNotBeNull();
result.Success.ShouldBeTrue();
}
}
Run Code Online (Sandbox Code Playgroud)
虽然我已经做了很多VS重启,笔记本电脑重新启动,中间休息一天,VS 2017仍然无法发现我的测试:
我该怎么做才能解决这个问题并看看我的测试?
附录
我在4.6.1下工作,所以还没有Core.
关于相同主题的问题没有帮助:
所以有很多回合,没有一个帮助......
更新
我也无法使NUnit工作,也不会出现在测试资源管理器中.
更新2
我擦了我的项目并重新创建了这样的项目:
然后我复制了我的原始代码并添加了所有必要的参考,没有区别.
与NUnit相比,xUnit提供了许多吸引人的功能,但它的GUI运行器非常糟糕,使用起来很痛苦:没有树形可视化,理论测试由单个列表条目表示,不记得上次测试运行等等.我希望很长一段时间2.0将解决它,但它仍然在alpha :(我在VS 2010上,因此无法尝试VS 2012的新测试浏览器并寻找替代方案.那么你用什么来运行xUnit测试?