gpt4 book ai didi

nunit - 测试夹具继承和忽略的基本测试夹具

转载 作者:行者123 更新时间:2023-12-04 05:07:32 25 4
gpt4 key购买 nike

我有一组用于测试接口(interface)的多个实现的基本测试。我对此建模的方法是创建一个带有 [Ignore] 属性的基本文本装置。

[TestFixture]
[Ignore]
public class BaseTests
{
// Use your imagination for the actual name
public virtual ITestableThing GetConcrete()
{
return null;
}

// All of my unit tests here
}

然后我为每个接口(interface)实现写一个子类:
public class ConcreteThingTests :  BaseTests
{
public override ITestableThing GetConcrete()
{
return new ConcreteThing();
}
}

这很好用,因为我在一个地方对所有实现进行了所有测试,并且子类只指定了实现。

问题是我必须将 [Ignore] 属性放在基类上,否则 NUnit 将尝试运行测试(并失败)。

正因为如此,我的测试结果总是被一组 Ignored 测试弄得乱七八糟,虽然这没什么大不了的,但我认为可能有一个更好的模式来避免忽略测试。

那么,我是否实现了测试夹具继承错误?

最佳答案

如果基类被标记为抽象,NUnit 测试运行器似乎会忽略它:

public abstract class BaseTests
{
}

关于nunit - 测试夹具继承和忽略的基本测试夹具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com