【发布时间】:2021-02-20 15:15:35
【问题描述】:
我创建了以下示例模型:
internal sealed class Bike : IVehicle
{
public Bike(
Engine engineType,
WindowHue windowHue,
Vehicle transport,
ushort wheelsCount,
string name) =>
(EngineType, WindowHue, Transport, WheelsCount, Name) =
(engineType, windowHue, transport, wheelsCount, name);
public WindowHue WindowHue { get; }
public Engine EngineType { get; }
public Vehicle Transport { get; }
public ushort WheelsCount { get; }
public string Name { get; }
}
我目前正在为 Bike 验证器编写单元测试,我想使用 AutoFixture 创建 Bike 类的实例,这些实例的值被认为是有效的和无效的。有没有办法指示 AutoFixture 如何创建这些类型的实例并告诉它根据正在运行的单元测试来获取有效或无效的实例?例如:在检查 Bike 类的有效实例是否通过验证的测试用例中,我希望 AutoFixture 创建一个有效的 Bike 实例。 我试图通过创建自定义样本构建器来实现此行为,但似乎最后一个注册的用于创建请求类型的实际实例。另一个想法是创建将使用 AutoFixture 创建有效和无效实例 [通过“创建”方法] 并在测试用例中使用它的构建器类,但我认为这不是一个好主意,因为它会导致创建冗余代码 [每个测试模型的构建器类]。 如果上述行为是可能的,那么有没有办法通过使用 [AutoData] 属性来创建这样的实例,这样我就不必在测试用例正文中调用 AutoFixture?
【问题讨论】:
标签: c# testing autofixture nunit-3.0