You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xUnitStudy/xUnitStudy.WebApi.Test/UseXUnitTest.cs

118 lines
3.5 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
using Xunit.Abstractions;
using Xunit.Extensions;
using Xunit.Sdk;
namespace xUnitStudy.WebApi.Test
{
/// <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]
[Trait(name:"测试方法分组",value:"红队")]
[Trait(name:"测试方法分组",value:"蓝队")]
public void Use_Trait_Test()
{
Assert.True(true,"使用Trait特性,设置:测试分组,测试结果可以按组显示");
}
/// <summary>
/// 测试方法分组:红队
/// </summary>
[Fact]
[Trait(name: "测试方法分组", value: "红队")]
public void Use_Trait_Red_Test()
{
Assert.True(true, "使用Trait特性,设置:测试分组,测试结果可以按组显示");
}
/// <summary>
/// 测试方法分组:蓝队
/// </summary>
[Fact]
[Trait(name: "测试方法分组", value: "蓝队")]
public void Use_Trait_Blue_Test()
{
Assert.True(true, "使用Trait特性,设置:测试分组,测试结果可以按组显示");
}
[Theory]
[InlineData(1)]
[InlineData(2)]
[InlineData(3)]
[InlineData(4)]
public void Use_Theory_Test(int number)
{
var userPara = number;
Assert.True(true,"使用Theory特性和InlineData特性传递不同参数多次执行测试");
}
}
}