xUnit 学习

develop
bicijinlian 7 years ago
parent 3075a8b33f
commit d72a992d72

@ -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","学习")]

@ -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()
{
}
}
}

@ -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
/// <summary>
/// 使用 xUnit
/// 测试类不需要加任何特性
/// NUnit需要加TestFixture特性MSTest需要加TestClass特性
/// </summary>
[Trait(name:"测试类分组",value:"该类内所有测试方法默认属此组")]
public class UseXUnitTest:IDisposable
{
/// <summary>
/// 每次测试前的准备
/// 构造函数 替代 SetUp或TestInitialize进行初始化
/// </summary>
public UseXUnitTest()
{
}
/// <summary>
/// 每次测试后的清理
/// 实现IDisposable接口替代TearDown或TestCleanup 进行清理释放操作
/// </summary>
public void Dispose()
{
}
/// <summary>
/// Fact特性标识测试方法
/// </summary>
[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属性,表示:暂时忽略测试");
}
/// <summary>
/// 使用Fact特性的Timeout参数
/// 设置:测试方法超时时间(豪秒)
/// </summary>
[Fact(Timeout =1000)]
public void Use_Fact_Timeout_Test()
{
Assert.True(true,"使用Fact特性的Timeout属性,设置:测试方法超时时间(豪秒)");
}
/// <summary>
/// 分组测试,可以按分组显示测试结果
/// Trait可用于程序集(AssemblyInfo.cs文件中)、测试类和测试方法三个层次
/// 一个测试方法同时属于多外组
/// </summary>
[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特性传递不同参数多次执行测试");
}
}
}

@ -84,6 +84,7 @@
<Compile Include="AutoFac\AutofacStudy.cs" />
<Compile Include="StudentBll\StudentBllTest.cs" />
<Compile Include="StudentDal\StudentDalTest.cs" />
<Compile Include="UseXUnitAssert.cs" />
<Compile Include="UseXUnitTest.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

Loading…
Cancel
Save