我正在使用XUnit和TestDriven.Net或Resharper测试运行器来执行我的测试。我非常喜欢编写测试的BDD风格,所以我想知道是否有一些我们可以修改这些框架的输出?
我喜欢用下划线命名我的测试,并希望拆分测试名称并将其格式化为Given,When,Then format。是否可以使用这些工具?
答案 0 :(得分:0)
我不确定你要做什么。您似乎想要更改某个测试运行时显示的测试名称。显示测试名称实际上仅取决于测试运行器(工具)。这意味着我们可以自定义名称,也可以不使用我们使用的测试运行器。
检查出以下代码,这些代码可能是您要执行的代码。如果代码不是这样,至少,我认为它可以向您展示如何自定义测试名称。
public class Given_Foo
{
[Test]
public void Then_Bar_returns_correct_result()
{
Assert.True(flase, "Check out test names...");
}
}
public class TestAttribute : FactAttribute
{
public TestAttribute()
{
}
protected override IEnumerable<ITestCommand> EnumerateTestCommands(IMethodInfo method)
{
yield return new CustomNamedTestCommand(method);
}
}
public class CustomNamedTestCommand : FactCommand
{
public CustomNamedTestCommand(IMethodInfo method) : base(method)
{
this.DisplayName = DisplayName.Replace("_", " ");
}
}