相关疑难解决方法(0)

Visual Studio 2015或2017不会发现单元测试

编辑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.24.6.

我尝试使用以下测试框架,所有这些都给出了相同的行为:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
  • xunit v2.1.0-beta1-build2945xunit.runner.visualstudio v2.1.0-beta1-build1051
  • NUnit v2.6.4NUnitTestAdapter 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

158
推荐指数
13
解决办法
11万
查看次数

如何使Visual Studio使用本机amd64工具链

如何让Visual Studio 2012使用本机amd64工具链,而不是默认的x86_amd64交叉编译器?

我正在构建一个大型库,在进行整个程序优化和链接时代码生成时会导致链接器内存不足.

我找到两个较旧的帖子(这里这里)提出同样的问题,但还没有答案.Microsoft提供了有关如何在命令行上指定工具链但不在IDE中指定工具链的文档.

c++ 64-bit compilation visual-studio

30
推荐指数
3
解决办法
2万
查看次数

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

问:是否可以在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 …

resharper mstest xunit.net visual-studio-2013

6
推荐指数
1
解决办法
1218
查看次数

Visual Studio 2015不会发现单元测试:C++

我正在开发一个C++项目,并开发了一些测试用例.我能够执行测试用例,直到所有测试用例突然从测试资源管理器中消失.我的意思是说测试资源管理器中没有显示测试方法,即使测试项目编译正确.

我按照这里给出的步骤没有成功.

这些是我做过的事情:

  • 我删除了%temp%文件夹的内容.
  • 我将默认的处理器架构更改为X64.(Test>Test Settings>Default Processor Architecture>X64)
  • Restarted VS2015.
  • Restarted 系统.
  • 我试过跑devenv /safemode(在命令提示符下),没有运气.
  • 我试过跑devenv /ResetSettings(在命令提示符下),没有运气.

笔记:

  • 我的解决方案中只有一个测试项目,它现在只包含一些测试.
  • 我的项目文件位于网络驱动器上,因为我不允许在本地存储.
  • 我无法禁用防病毒软件或防火墙,我的系统没有管理员权限.

c++ microsoft-cpp-unit-test visual-studio-2015

5
推荐指数
1
解决办法
667
查看次数

测试未显示在测试资源管理器 (Nunit) 中

问题:我的 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 的引用。

  • 测试项目 cs 文件包含[TestFixture][Test]在正确的位置
  • 我曾多次尝试清洁/重建解决方案
  • 我曾多次尝试重新启动 Visual Studio
  • 我尝试通过“以管理员身份运行”运行 Visual Studio
  • 我试过运行 NUnit 版本 3(框架和测试适配器)

下面是我的代码:

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)

nunit unit-testing visual-studio-2013

3
推荐指数
1
解决办法
4316
查看次数