问题标签 [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.
c# - 多个开发人员如何将 VSTest 用于单个 C# 项目?
我们在 VS2013 中使用 C#,基本问题是单元测试不能在开发站或构建服务器之间移植。我们有测试运行器,它们是 VS 生成的 XML 文件,但它们包含绝对路径。
当然,这是不可接受的,并且每个开发人员使用相同的文件系统或者我们为每个开发人员和构建服务器维护一组独特的测试运行程序是不可接受的(或完全不可能的)。
MS在想什么?有没有办法让这些测试运行器在工作站之间移植?是否有一种健全的方式来生成测试运行器,也许是作为构建步骤?
编辑:如果它使事情更清楚,有序测试包含一个“存储”属性,它是其他测试运行器或单元测试 dll 的绝对路径。有序测试是我们的生计。有什么办法可以解决这个问题还是有合理的替代品?假设我可以用 C# 编写一个有序的测试?我是 MS 测试框架的新手。一个这样的文件如下所示:
我还没有找到任何方法来指定使其工作的相对路径。
unit-testing - 无法使用 VSTest.Console.exe 运行 WP81 单元测试
我正在尝试使用vstest.console.exe从命令行运行 Windows Phone 8.1 单元测试。我在 VS 2013(更新 4)中创建了一个新的 Windows Phone 8.1 单元测试项目:
单元测试是在 Visual Studio 中发现的,我能够成功运行它:
下一步是AppPackage
从生成所需.appx
文件的测试项目中创建一个新项目。然后我尝试使用以下命令运行此文件中包含的单元测试:
Test.runsettings
看起来像这样:
此命令启动了模拟器,但失败并出现以下错误:
错误:安装包“D:\work\WP81UnitTestApp\UnitTestApp1\AppPackages\UnitTestApp1_1.0.0.0_x86_Debug_Test\UnitTestApp1_1.0.0.0_x86_Debug.appx”失败并出现错误:(0xFFFFFFFF) 要为 Windows Phone 应用程序运行单元测试,应用程序必须面向 Windows Phone 8 或更高版本..
知道可能出了什么问题吗?
visual-studio - 是否可以使用 vstest TestCaseFilter 实现“不包含”逻辑?
我正在使用 vstest TestCaseFilter 在 VS 2013 中运行选择性单元测试。
我的目标是使用不包含特定字符串的类别运行所有测试。
从我目前所读到的(这里),支持的运算符是:
过滤所有包含字符串的类别是微不足道的,但我如何实现相反的效果?
到目前为止无法想出实现这一目标的方法......
c# - 无法重命名从 VSTest.console.exe 生成的测试结果 (.trx)
我正在尝试为从控制台行的 VSTest.Console.exe 生成的测试结果 (.trx) 设置名称和文件位置,但看起来它不起作用。
如果我运行以下命令,“c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe”“MyTest.dll”/UseVsixExtensions:“true”/InIsolation /记录器:“trx”
它将测试结果复制到默认位置以下,
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TestResults{user-name}{machine-name}{datetime}.trx
为了避免测试结果的默认位置和名称,当我在记录器中指定输出路径时,它会给出以下错误:
错误:找不到具有 URI 或 FriendlyName 'C:\UnitTest\MyResults.trx' 的测试记录器。
下面是我正在使用的命令,
"c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "MyTest.dll" /UseVsixExtensions:"true" /InIsolation / Logger:"C: \UnitTest\MyResults.trx"
让我知道我哪里出错了。
msbuild - vstest.console.exe 未生成 trx 文件,TestResults 为空
我正在尝试在我的构建服务器上运行以下命令,
它会生成TestResults文件夹,该文件夹为空但没有任何TRX文件。
更新:从命令行收到以下警告。但是,当我在本地机器上运行命令时看不到这一点。我在我的测试项目中遗漏了什么吗?
警告:C:\UnitTest\MyTests.dll 中没有可用的测试。确保已安装的测试发现器和执行器、平台和框架版本设置正确,然后重试。**
.net - 避免对单个类中的所有测试执行并行单元测试
出于性能原因,我并行执行单元测试。有几个类不能并行执行单元测试(我知道这是有问题的,但试图找到一个中间解决方案)。
有没有办法配置在解决方案中运行所有测试时按顺序执行类中的测试?
c# - VSTest 只运行一种类型的测试
总体目标
我正在尝试创建一个 PowerShell 脚本,该脚本将在整个解决方案中无头(通过命令行)运行所有测试,以用于 CI 目的。我们有 UnitTests 和 IntegrationTests 应该能够单独运行。
解决方案结构
该解决方案是 Visual Studio 2013 解决方案(使用专业版)。每个项目可选地有一个或两个单独的项目进行测试。一个项目用于单元测试,另一个项目用于集成测试。我们遵循一个简单的命名约定:
- 组件:命名空间.ComponentName
- 单元测试:Namespace.ComponentName.Test
- 诠释。测试:命名空间.ComponentName.IntegrationTest
测试工具
我正在使用 VSTest.Console.exe 来运行测试。
当前失败的解决方案
我正在尝试运行 OR 仅单元测试或仅集成测试。所以想法是扫描所有测试dll文件并在后缀上过滤它们。
单元测试的一个例子:
这应该可以正常工作,唯一的问题是我在嵌套子文件夹中有 40 多个测试项目。运行此脚本时会导致异常:
该消息是不言自明的,所以问题是,这个问题不可扩展,因为我遇到了一些烦人的简单限制。
主要问题
是否有另一种使用 VSTest.Console.exe 的方法,我只能运行基于过滤器的测试项目的某个子集,所以我只能运行 OR 单元测试或集成测试。
我应该换个角度来解决这个问题吗?或者当所有测试项目都在我的解决方案存储库的子文件夹中时,我可以只使用测试项目名称而不是完整文件路径吗?
重要:它应该很容易扩展,所以我不需要每个新创建的测试项目都将它添加到 testsettings 文件或类似文件中。我只想说,运行解决方案中的所有测试项目,过滤它们是单元类型还是集成类型。
将我的存储库放在磁盘的根目录中以缩短测试项目名称的完整路径名并不灵活,因为脚本可能在任何机器上运行。
jenkins - 无法从我的服务器触发位于另一台机器上的 dll
在我的 Jenkins 服务器上,我映射了我的测试机项目文件夹的驱动程序(我的单元 test.dll 所在的位置)。
现在我想从服务器触发 >>vstest.console.exe Z:\unit test.dll
它会发出如下警告。
c# - 如何从批处理文件中调用 VSTEST.CONSOLE.EXE
我有单元测试类库。
现在我必须从.bat
文件中执行它:
之后我必须添加我的 dll ...
我怎样才能做到这一点?请指导我
.net - 使用 VSTest.Console Runner 在 TeamCity 中失败的测试的 TypeInitializationException
我有很多测试在“TypeInitializationException”异常上失败。所有这些测试都通过 MSTest In Visual Studio 并通过 Visual Studio Online。然而,使用 teamcity 这些都失败了。运行器是 VSTest.Console,因为 MSTest Runner 不支持 fakes 框架。
Teamcity v 9.05 插件:VSTest 支持 v:32407