在 Xunit2 中自定义测试名称
Customize Test Name in Xunit2
今天我 运行 使用 xUnit v2 进行测试时,我通常使用如下命名约定:
[Fact(DisplayName= "Method Will Do Something")]
public void Method_Will_Do_Something() { }
我可以插入哪个扩展点,允许我根据测试方法的命名约定设置测试显示名称?
最简单的方式:自定义事实属性、发现者、测试用例。
示例:https://github.com/xunit/samples.xunit/tree/master/RetryFactExample
对于您的自定义测试用例,派生自 XunitTestCase
并覆盖 Initialize()
方法。调用base.Initialize()
后,适当设置DisplayName
属性。
您可以在此处查看 XunitTestCase
的默认行为:https://github.com/xunit/xunit/blob/master/src/xunit.execution/Sdk/Frameworks/XunitTestCase.cs
为您的事实创建自定义 class
public sealed class MyFactAttribute : FactAttribute
{
public MyFactAttribute([CallerMemberName] string memberName = null)
{
DisplayName = memberName;
}
}
并按如下方式使用
[MyFact]
public void FileSystemProvider_Sync()
今天我 运行 使用 xUnit v2 进行测试时,我通常使用如下命名约定:
[Fact(DisplayName= "Method Will Do Something")]
public void Method_Will_Do_Something() { }
我可以插入哪个扩展点,允许我根据测试方法的命名约定设置测试显示名称?
最简单的方式:自定义事实属性、发现者、测试用例。
示例:https://github.com/xunit/samples.xunit/tree/master/RetryFactExample
对于您的自定义测试用例,派生自 XunitTestCase
并覆盖 Initialize()
方法。调用base.Initialize()
后,适当设置DisplayName
属性。
您可以在此处查看 XunitTestCase
的默认行为:https://github.com/xunit/xunit/blob/master/src/xunit.execution/Sdk/Frameworks/XunitTestCase.cs
为您的事实创建自定义 class
public sealed class MyFactAttribute : FactAttribute
{
public MyFactAttribute([CallerMemberName] string memberName = null)
{
DisplayName = memberName;
}
}
并按如下方式使用
[MyFact]
public void FileSystemProvider_Sync()