问题标签 [vstest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
616 浏览

visual-studio-2012 - SQL Server 2014 单元测试 - 部署到构建服务器

我第一次尝试将 Visual Studio 2013 SQL Server 数据库项目与测试项目一起使用。它似乎在我的本地机器上工作正常,但在构建服务器上运行时出现错误,使用 TFS2013.4,由于路径不正确:

数据库部署失败。路径“C:\Builds\1\Database1\Database1.sqlproj”不是数据库项目文件的有效路径。

在运行测试之前它找不到要部署的数据库项目。

这是一个已知功能,这里有一个关于该主题的 MSDN 页面https://msdn.microsoft.com/en-us/library/jj851202 (v=vs.103).aspx(请参阅“修改”标题下的部分测试项目”)。但是,我发现解释不清楚。似乎也有一些错字,例如指令 6 似乎让你将 app.config 从 x 更改为 y,我看不出有什么区别。他们似乎在 BuildComputer.sqlunitttest.config 中也有一个额外的“t”,还是故意的?没有把握。

基于这个 MSDN 页面,我现在有一个 app.config,如下所示:

AllowConfigurationOverride="true"请注意添加到该SqlUnitTesting部分的属性。

还有另一个名为 Azure-Dev-VS13.sqlunittest.config 的配置文件,其中 Azure-Dev-VS13 是构建服务器名称。这篇的内容是:

DatabaseProjectFileName唯一的区别是属性中路径的更改。

我还在部署类别下添加了一个 Local.testsettings 到解决方案中的单个条目

但是,无论我做什么,我都会收到相同的错误消息,没有对更改路径的引用,所以我认为它仍在读取原始 app.config。

上面的示例来自测试单机设置,其中开发机器、TFS 服务器和构建服务器是一台机器。但是,我在我们的完整开发环境中遇到了同样的错误。

有任何想法吗。谢谢。

0 投票
1 回答
1647 浏览

tfs - 运行 vstest.console.exe 时如何过滤 NUnit 测试

我有一套自动化测试(一些使用 SpecFlow,一些使用 NUnit),作为我的 TFS 构建的一部分运行(使用在线视觉工作室,使用托管构建代理)。

我的一些测试(验收测试,而不是单元测试)无法在构建服务器上执行,因为它们对登录系统的用户的凭据做出了假设。

我希望能够从我的运行中过滤掉这些测试,并运行本地测试之外的所有测试。

为了实现这一点,我[Category("LocalOnly")]在测试中添加了TFS服务器要忽略的属性,并在构建中设置测试任务(新的预览构建机制)添加如下开关:/TestCaseFilter:"TestCategory!=LocalOnly".

除非它不起作用,即使我相信它应该。如果我用等号设置过滤器,它什么也不运行,如果我使用不等号,它运行一切。过滤器似乎不起作用。

我还尝试使用 vstest.console.exe 在我的机器上本地运行它,结果完全相同,所以这不是 TFS 的问题)。

根据 Visual Studio 发行说明的 NUnit 适配器,这已得到修复,但我没有看到任何证据。

知道如何解决这个问题吗?

0 投票
1 回答
2156 浏览

c# - vstest.console.exe 忽略 app.config

我在单元测试中对 app.config 文件有一些问题。vstest.console.exe 似乎忽略了它。当我使用 MStest 运行单元测试时,应用程序配置文件没有问题。

配置文件必须解决一些程序集问题(重定向程序集版本)。这是这个文件的内容:

当我将此代码移动到 machine.config 时,我的单元测试被成功重定向到使用另一个版本的程序集。但是这种解决我的装配问题的方法是不合适的。单元测试项目必须在构建服务器上运行,需要在应用层面解决这个问题。

在互联网上没有关于此类问题的信息。基于这个答案vstest.console.exe 与 /EnableCodeCoverage 只是“挂起”......如何调试,以及如何修复?应用程序配置可以添加到 vstest.executionengine.config (因为这是实际运行的 exe),但它对我不起作用,正如我之前所说,这个问题应该在应用程序级别解决。

使用 MStest.exe,app.config 没有问题,但它不适合我的情况。

有人见过这样的问题吗?任何帮助,将不胜感激。

0 投票
0 回答
562 浏览

unit-testing - vstest.console.exe 未在 .trx 文件中生成测试属性(所有者、优先级、TestCategory)

我有测试方法,这些方法具有所有者、优先级、TestCategory 等属性,如下所示

当我使用 MSTest.exe 运行此测试时,这些 arrtibutes 出现在生成的 trx 文件中,就好像我使用 VSTest.console.exe 运行它们一样。

我已经检查了 vstest 命令,我找不到一个。

我是否遗漏了什么,或者此功能本身在 vstest 中不存在?

0 投票
2 回答
13386 浏览

sonarqube - SonarQube Test Coverage with MsTest

I have been trying to get SonarQube working with a simple dot net app. I have had some success getting it up and running but code coverage is not working.

It looks like many other people have faced this issue when SonarQube discontinued support for many of the 'go to' coverage tool such as DotCover and OpenCover via Gallio

Examples which I have followed are:

I have tried a few of the VS command line tools to generate a .coverage file

and

And written some code like to covert it into a .coveragexml file from here

To get the following XML:

And even used XSLT stylesheet provide in one that could be used by the SonarQube runner

when I run Sonar

  1. MSBuild.SonarQube.Runner.exe Begin
  2. MSBuild
  3. MSBuild.SonarQube.Runner.exe end

I get errors like Caused By: unknown XML Node, Expect Coverage but got Results

This is because its does not like the structure of my XML, but I am not sure what is is expecting and how much work I have to do on the coverage file to convert it into a format that Sonar likes

Hopefully I have been going down the wrong path and there is a simple way to integrate VS Coverage or coveragexml files into Sonar without too much work

Extra Information on my Sonar plugins are

  1. c# = 4.1
  2. Generic Coverage = 1.1
0 投票
1 回答
127 浏览

c# - Internals、InternalsVisibleTo 和测试共享行为

我们有一个共享的基本接口public interface IOperation {...}和许多(数十个,很快 100 多个)不同的对象来实现IOperation.

我们还对所有这些实现进行了测试,所有这些都继承自调用的基类,这些基类使用实际操作类和此类操作TestOperationCommon 的 Create 方法的类型进行模板化。new我们有 TestOperationCommon 的实现,最多有五个模板参数(这对于所有操作来说已经足够了)。

现在,最近决定将所有操作实现都放在内部并且只IOperation公开,这似乎是一个好主意,因为这些操作是实现细节。通过[InternalsVisibleTo(...)]测试似乎也解决了。

但是,现在我看到我们不能再使用我们的测试结构了,因为公共测试类的通用参数现在是内部的(至少被测试的实际类是内部的),这导致

Inconsistent Accessibility .... less accessible than ...

错误。在下面的代码中,公共测试类不能从具有内部通用参数 T 的 TestOperationCommon 继承。但是将所有这些共享行为测试复制到特定测试中似乎也是一个坏主意。

  • 有没有办法让 vstest 框架(VS2013+)来测试[TestClass]内部的 es?

  • 还是有另一种方法可以保留共享测试而不必复制大量代码?

  • 还是我们做错了(使那些“实现细节类”成为内部的)?

代码示例作为评论中的请求:

0 投票
2 回答
2513 浏览

visual-studio-2015 - 使用 vstest 运行 xUnit 测试

我正在尝试使用 运行我的 xUnit 单元测试vstest.console.exe,但没有找到任何测试。

我正在使用vstest.console.exeVisual Studio 2015,在此位置找到:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

命令运行:

回复:

开始测试执行,请稍候...

警告:提供的来源中没有可用的测试。确保已安装的测试发现器和执行器、平台和框架版本设置正确,然后重试。

我也尝试过使用以下 TestAdapterPath 参数,但遇到了同样的问题:

project.json文件:

我该如何运行这些测试?

编辑:使用 DNX beta6 运行时。

0 投票
2 回答
1034 浏览

visual-studio-2015 - VSTest 控制台不能从另一个基本目录工作

我有一个带有 TFS2015 和 VS2015 的 Windows 2012 服务器。不知何故,我的 tfs 构建不会生成单元测试结果。我指出了问题所在。我登录服务器并在“VS2015 的 MSBuild 命令提示符”中执行以下命令(与 TFS 完全相同):

我没有错误,但也没有结果。如果我使用 /ListTest 参数,它会找到测试。当我将提示中的路径更改为包含测试程序集的文件夹并再次执行命令时,它可以工作。谁能解释我在这里做错了什么?(或 TFS 做错了什么)

0 投票
0 回答
1490 浏览

msbuild - TFS 2015 构建,测试未在 Visual Studio 测试构建步骤或 vstest.console.exe 中运行

在将 Team Foundation Server 和 Visual Studio 从 2013 更新 4 升级到 2015 后,我在新的构建系统中创建了一个构建。构建仅包括两个步骤:一个 Visual Studio 构建步骤和一个 Visual Studio 测试步骤。只有一个简单的解决方案,包含一个类库项目和一个测试项目。

构建步骤运行良好。测试步骤什么也不做。它只是说

但测试没有运行。

当我在构建定义中编辑 VS 测试步骤并将 VSTest 版本设置为“Visual Studio 2013”​​而不是“Visual Studio 2015”时,一切正常并按预期输出:

我发现在那个构建步骤中,以下行被执行:

所以我尝试在我自己的电脑上从命令行运行它,发现当我使用 Visual Studio 12.0 文件夹中的 vstest.console.exe 时,一切正常,但是当我使用 Visual Studio 14.0 文件夹中的 vstest.console 时,测试没有运行。

我还发现,当我以管理员身份运行命令提示符时,它会使用 Visual Studio 14.0 文件夹中的 vstest.console 运行所有测试。

有没有人也有这个问题,或者有没有办法以提升的权限运行整个构建(或只是测试步骤),所以我可以使用设置为 Visual Studio 2015 的 VSTest 版本运行我的测试?

0 投票
3 回答
2416 浏览

c# - How to hide C# unit tests?