Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
dotnet test.NET Core'daki komutuyla, seçili testleri çalıştırmak için bir filtre ifadesi kullanabilirsiniz. Bu makalede testlerin nasıl filtreleneceği gösterilmektedir. Örneklerde kullanılır dotnet test. kullanıyorsanız vstest.console.exedeğerini ile --filterdeğiştirin--testcasefilter:.
Sözdizimi
dotnet test --filter <Expression>
İfade biçimindedir
<Property><Operator><Value>[|&<Expression>].İfadeler boole işleçleriyle birleştirilebilir:
|boole işleçleri boole ve&için.İfadeler parantez içine alınabilir. Örneğin:
(Name~MyClass) | (Name~MyClass2).İşleci olmayan bir Örneğin
dotnet test --filter xyziledotnet test --filter FullyQualifiedName~xyzaynıdır.Özellik , özniteliğidir
Test Case. Örneğin, aşağıdaki özellikler popüler birim testi çerçeveleri tarafından desteklenir.Test çerçevesi Desteklenen özellikler MSTest FullyQualifiedNameNameClassNamePriorityTestCategoryxUnit FullyQualifiedNameDisplayNameTraitsNunit FullyQualifiedNameNamePriorityTestCategoryİşleçler
-
=tam eşleşme -
!=tam eşleşme değil -
~Içerir -
!~içermez
-
Değer bir dizedir. Tüm aramalar büyük/küçük harfe duyarlı değildir.
Karakter kaçışı
Filtre ifadesinde ünlem işareti (!) kullanmak için önüne bir ters eğik çizgi () koyarak bazı Linux veya macOS kabuklarında bundan kurtulmanız gerekir\!. Örneğin, aşağıdaki filtre içeren IntegrationTestsbir ad alanında tüm testleri atlar:
dotnet test --filter FullyQualifiedName\!~IntegrationTests
Genel FullyQualifiedName tür parametreleri için virgül içeren değerler için ile %2Cvirgülden kaçış. Örneğin:
dotnet test --filter "FullyQualifiedName=MyNamespace.MyTestsClass<ParameterType1%2CParameterType2>.MyTestMethod"
Name veya DisplayNameiçin özel karakterler için URL kodlamasını kullanın. Örneğin, adı MyTestMethod ve dize değeri "text"olan bir test çalıştırmak için aşağıdaki filtreyi kullanın:
dotnet test --filter "Name=MyTestMethod \(%22text%22\)"
MSTest örnekleri
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace MSTestNamespace
{
[TestClass]
public class UnitTest1
{
[TestMethod, Priority(1), TestCategory("CategoryA")]
public void TestMethod1()
{
}
[TestMethod, Priority(2)]
public void TestMethod2()
{
}
}
}
| Expression | Result |
|---|---|
dotnet test --filter Method |
içeren FullyQualifiedNametestleri Method çalıştırır. |
dotnet test --filter Name~TestMethod1 |
adında TestMethod1bulunan testleri çalıştırır. |
dotnet test --filter ClassName=MSTestNamespace.UnitTest1 |
sınıfında MSTestNamespace.UnitTest1testleri çalıştırır.Not: Değerin ClassName ad alanı olmalıdır, bu nedenle ClassName=UnitTest1 çalışmaz. |
dotnet test --filter FullyQualifiedName!=MSTestNamespace.UnitTest1.TestMethod1 |
dışındaki MSTestNamespace.UnitTest1.TestMethod1tüm testleri çalıştırır. |
dotnet test --filter TestCategory=CategoryA |
ile [TestCategory("CategoryA")]ek açıklama ekleyen testleri çalıştırır. |
dotnet test --filter Priority=2 |
ile [Priority(2)]ek açıklama ekleyen testleri çalıştırır. |
Koşullu işleçleri | ve &kullanan örnekler:
içinde veya
UnitTest1FullyQualifiedNametestleri çalıştırmak için.dotnet test --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"içinde ve
UnitTest1sahip testleri çalıştırmak için.dotnet test --filter "FullyQualifiedName~UnitTest1&TestCategory=CategoryA"içeren ve veya önceliğine FullyQualifiedNamesahip
UnitTest1testleri TestCategoryAttribute"CategoryA"dotnet test --filter "(FullyQualifiedName~UnitTest1&TestCategory=CategoryA)|Priority=1"
xUnit örnekleri
using Xunit;
namespace XUnitNamespace
{
public class TestClass1
{
[Fact, Trait("Priority", "1"), Trait("Category", "CategoryA")]
public void Test1()
{
}
[Fact, Trait("Priority", "2")]
public void Test2()
{
}
}
}
| Expression | Result |
|---|---|
dotnet test --filter DisplayName=XUnitNamespace.TestClass1.Test1 |
Yalnızca bir test çalıştırır: XUnitNamespace.TestClass1.Test1. |
dotnet test --filter FullyQualifiedName!=XUnitNamespace.TestClass1.Test1 |
dışındaki XUnitNamespace.TestClass1.Test1tüm testleri çalıştırır. |
dotnet test --filter DisplayName~TestClass1 |
Görünen adı içeren TestClass1testleri çalıştırır. |
Kod örneğinde anahtarlarla "Category" tanımlanan özellikler ve "Priority" filtreleme için kullanılabilir.
| Expression | Result |
|---|---|
dotnet test --filter XUnit |
içeren FullyQualifiedNametestleri XUnit çalıştırır. |
dotnet test --filter Category=CategoryA |
olan [Trait("Category", "CategoryA")]testleri çalıştırır. |
Koşullu işleçleri | ve &kullanan örnekler:
içinde veya
TestClass1çalıştırmak için.FullyQualifiedNamedotnet test --filter "FullyQualifiedName~TestClass1|Category=CategoryA"içinde ve
TestClass1FullyQualifiedNameTraitanahtarı"Category"ve değeri olan testleri çalıştırmak için."CategoryA"dotnet test --filter "FullyQualifiedName~TestClass1&Category=CategoryA"içeren ve anahtarı ve FullyQualifiedName
TestClass1çalıştırmak için.dotnet test --filter "(FullyQualifiedName~TestClass1&Category=CategoryA)|Priority=1"
NUnit örnekleri
using NUnit.Framework;
namespace NUnitNamespace
{
public class UnitTest1
{
[Test, Property("Priority", 1), Category("CategoryA")]
public void TestMethod1()
{
}
[Test, Property("Priority", 2)]
public void TestMethod2()
{
}
}
}
| Expression | Result |
|---|---|
dotnet test --filter Method |
içeren FullyQualifiedNametestleri Method çalıştırır. |
dotnet test --filter Name~TestMethod1 |
adında TestMethod1bulunan testleri çalıştırır. |
dotnet test --filter FullyQualifiedName~NUnitNamespace.UnitTest1 |
sınıfında NUnitNamespace.UnitTest1testleri çalıştırır. |
dotnet test --filter FullyQualifiedName!=NUnitNamespace.UnitTest1.TestMethod1 |
dışındaki NUnitNamespace.UnitTest1.TestMethod1tüm testleri çalıştırır. |
dotnet test --filter TestCategory=CategoryA |
ile [Category("CategoryA")]ek açıklama ekleyen testleri çalıştırır. |
dotnet test --filter Priority=2 |
ile [Priority(2)]ek açıklama ekleyen testleri çalıştırır. |
Koşullu işleçleri | ve &kullanan örnekler:
içinde UnitTest1FullyQualifiedName bir tanesine sahip Category"CategoryA"testleri çalıştırmak için.
dotnet test --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
içinde veUnitTest1sahip testleri çalıştırmak için.
dotnet test --filter "FullyQualifiedName~UnitTest1&TestCategory=CategoryA"
içeren ve içeren veya FullyQualifiedNameUnitTest1Category"CategoryA"Propertyçalıştırmak için.
dotnet test --filter "(FullyQualifiedName~UnitTest1&TestCategory=CategoryA)|Priority=1"
Daha fazla bilgi için bkz . TestCase filtresi.