c# - C#自动创建对象母类

标签 c# unit-testing nunit nsubstitute

我正在使用 Object Mother用于单元测试,我不想编写所有 OM 类 == 重复的类结构。 是否可以创建一些自动生成 OM 类的基 OM 类?

class MyNewObjectMother: ObjectMother<SomeClass>{}

这应该将所有属性创建为 public 和创建类对象并注入(inject)所有属性的方法 CreateInstance。 是否可以?最佳做法是什么?或者可能是一些自动 T4 代码生成等。 谢谢。

最佳答案

正如 shamp00 所指出的,一个比 Object Mother 更易于维护的替代品是 Test Data Builder pattern .除了 NBuilder,您还可以考虑 AutoFixture ,它还实现了测试数据生成器模式。

它将使您能够像这样创建测试实例:

var sc = fixture.Build<SomeClass>().With(x => x.Foo, "Foo").Build();

以及许多其他功能;上面的例子实际上只是触及了表面。

关于c# - C#自动创建对象母类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18869326/

相关文章:

c# - 反序列化列表错误

C# 避免重复逻辑

java - Android 测试 : Dialog. 检查是否正在显示()

c# - 在类中并行运行 NUnit 测试但不与其他类测试一起运行的方法?

c# - Windows 窗体中的文本框验证

c# - 设置 Mock 以返回我发送给它的同一个对象?

javascript - 停止 Jest 对 TS 文件运行测试,并且仅对 JS 文件运行测试

c# - 如何使用 Moq 模拟包含内部抽象方法的抽象类?

msbuild - 升级后 NUnit 在 MSBuild 中运行失败 - System.IO.FileLoadException : Could not load file or assembly nunit. 框架

c# - 如何测试这个简单的索引方法?