如何在管道中使用 VSTest 指定一组测试
How do I specify a set of tests using VSTest in a Pipeline
使用我想要构建的 Azure 管道和 运行 Web 服务测试。
使用 classic 管道构建器(所以不是 YAML)我希望能够 select 一组特定的测试 运行。我的测试分为各种 classes。每个 class 都有很多测试。
如果我将过滤器字段留空,我将 运行 所有 class 中的所有测试。
但我想指定一个 class 测试。我该怎么做?
我尝试了以下但没有找到测试
类名=WebServices.SocialTests
ClassName=SocialTests
Tests=SocialTests
或
测试=WebServices.SocialTests
使用 Jenkins,我可以从命令行 运行 这些测试。我所要做的就是指定以下内容:
dotnet vstest mytests.dll /Tests:SocialTests
所以问题是为什么我不能在管道中执行此操作?
作为解决方法,您可以将 TestCategory 添加到测试方法,例如:--filter TestCategory=CategoryA
,运行带有 [TestCategory("CategoryA")].
注释的测试
namespace MSTestNamespace
{
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTestClass1
{
[Priority(2)]
[TestMethod]
public void TestMethod1(){
}
[TestCategory("CategoryA")]
[Priority(3)]
[TestMethod]
public void TestMethod2(){
}
}
}
详情请参考这篇document。
使用我想要构建的 Azure 管道和 运行 Web 服务测试。 使用 classic 管道构建器(所以不是 YAML)我希望能够 select 一组特定的测试 运行。我的测试分为各种 classes。每个 class 都有很多测试。
如果我将过滤器字段留空,我将 运行 所有 class 中的所有测试。 但我想指定一个 class 测试。我该怎么做?
我尝试了以下但没有找到测试
类名=WebServices.SocialTests
ClassName=SocialTests
Tests=SocialTests
或
测试=WebServices.SocialTests
使用 Jenkins,我可以从命令行 运行 这些测试。我所要做的就是指定以下内容:
dotnet vstest mytests.dll /Tests:SocialTests
所以问题是为什么我不能在管道中执行此操作?
作为解决方法,您可以将 TestCategory 添加到测试方法,例如:--filter TestCategory=CategoryA
,运行带有 [TestCategory("CategoryA")].
namespace MSTestNamespace
{
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTestClass1
{
[Priority(2)]
[TestMethod]
public void TestMethod1(){
}
[TestCategory("CategoryA")]
[Priority(3)]
[TestMethod]
public void TestMethod2(){
}
}
}
详情请参考这篇document。