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 @@
+