diff --git a/xUnitStudy.WebApi.Test/Properties/AssemblyInfo.cs b/xUnitStudy.WebApi.Test/Properties/AssemblyInfo.cs index a333ee7..3f97f27 100644 --- a/xUnitStudy.WebApi.Test/Properties/AssemblyInfo.cs +++ b/xUnitStudy.WebApi.Test/Properties/AssemblyInfo.cs @@ -1,6 +1,7 @@ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using Xunit; // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 @@ -34,3 +35,6 @@ using System.Runtime.InteropServices; // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] + +//xUnit +[assembly:AssemblyTrait("xUnit","学习")] diff --git a/xUnitStudy.WebApi.Test/UseXUnitAssert.cs b/xUnitStudy.WebApi.Test/UseXUnitAssert.cs new file mode 100644 index 0000000..e490f6a --- /dev/null +++ b/xUnitStudy.WebApi.Test/UseXUnitAssert.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xunit; + +namespace xUnitStudy.WebApi.Test +{ + + public class UseXUnitAssert:IDisposable + { + public UseXUnitAssert() + { + + } + public void Dispose() + { + + } + + [Fact] + public void Test() + { + + } + } +} diff --git a/xUnitStudy.WebApi.Test/UseXUnitTest.cs b/xUnitStudy.WebApi.Test/UseXUnitTest.cs index 94c26f5..521863f 100644 --- a/xUnitStudy.WebApi.Test/UseXUnitTest.cs +++ b/xUnitStudy.WebApi.Test/UseXUnitTest.cs @@ -5,15 +5,93 @@ using System.Text; using System.Threading.Tasks; using Xunit; +using Xunit.Abstractions; +using Xunit.Extensions; +using Xunit.Sdk; namespace xUnitStudy.WebApi.Test { - public class UseXUnitTest + /// + /// 使用 xUnit + /// 测试类不需要加任何特性 + /// NUnit需要加TestFixture特性,MSTest需要加TestClass特性 + /// + [Trait(name:"测试类分组",value:"该类内所有测试方法默认属此组")] + public class UseXUnitTest:IDisposable { + /// + /// 每次测试前的准备 + /// 构造函数 替代 SetUp或TestInitialize,进行初始化 + /// + public UseXUnitTest() + { + + } + + /// + /// 每次测试后的清理 + /// 实现IDisposable接口,替代TearDown或TestCleanup 进行清理释放操作 + /// + public void Dispose() + { + + } + + /// + /// Fact特性,标识测试方法 + /// + [Fact] + public void Use_Fact_Test() + { + //永久通过测试断言的写法 + Assert.True(true,"Fact特性,表示测试方法"); + } + + [Fact(DisplayName = "定制测试方法名称")] + public void Use_Fact_DisplayName_Test() + { + Assert.True(true,"使用Fact特性的DisplayName属性,表示:定制的测试方法名称"); + } + + [Fact(Skip = "暂时忽略测试")] + public void Use_Fact_Skip_Test() + { + Assert.True(true,"使用Fact特性的Skip属性,表示:暂时忽略测试"); + } + + /// + /// 使用Fact特性的Timeout参数 + /// 设置:测试方法超时时间(豪秒) + /// + [Fact(Timeout =1000)] + public void Use_Fact_Timeout_Test() + { + Assert.True(true,"使用Fact特性的Timeout属性,设置:测试方法超时时间(豪秒)"); + } + + /// + /// 分组测试,可以按分组显示测试结果 + /// Trait可用于:程序集(AssemblyInfo.cs文件中)、测试类和测试方法三个层次 + /// 一个测试方法同时属于多外组 + /// [Fact] - public void Test() + [Trait(name:"定制分组",value:"红队")] + [Trait(name:"定制分组",value:"蓝队")] + public void Use_Trait_Test() + { + Assert.True(true,"使用Trait特性,设置:测试分组,测试结果可以按组显示"); + } + + [Theory] + [InlineData(1)] + [InlineData(2)] + [InlineData(3)] + [InlineData(4)] + public void Use_Theory_Test(int number) { - Assert.Equal(1, 1); + var userPara = number; + + Assert.True(true,"使用Theory特性和InlineData特性,传递不同参数,多次执行测试"); } } } diff --git a/xUnitStudy.WebApi.Test/xUnitStudy.WebApi.Test.csproj b/xUnitStudy.WebApi.Test/xUnitStudy.WebApi.Test.csproj index f1df7e6..140c0a8 100644 --- a/xUnitStudy.WebApi.Test/xUnitStudy.WebApi.Test.csproj +++ b/xUnitStudy.WebApi.Test/xUnitStudy.WebApi.Test.csproj @@ -84,6 +84,7 @@ +