c# - 伪造的,AutoFixture,其他(?): How to fill a nested model with fake data and set rules for specific properties?

标签 c# testing mocking autofixture bogus

我有一个非常嵌套的模型,我想用假数据创建数千个。但是,模型中的某些属性也需要在特定范围内或具有特定规则。我查看了这两个假数据生成器:

AutoFixture 似乎只会为所有内容生成虚假数据。

Bogus 可以设置属性范围之类的规则,但所有其他属性仍为空 - 或者您必须为所有属性定义规则。

我是否遗漏了什么,或者是否无法用虚假数据填充模型并且只能为特定属性设置规则?

最佳答案

Bogus有一个名为 AutoBogus 的社区扩展由 Nick Dodd 编写,可让您为模型自动生成规则。

您还可以覆盖 AutoBogus 使用特定测试的特定值创建的自动生成的规则。查看AutoBogus自述文件以获取更多信息。

此外,您不必二选一。您可以同时使用两者。 Bogus 有一个 Faker类(不是 Faker<T> ),您可以在没有流畅设置且无需定义模型的情况下使用 T . Faker类使您可以访问所有数据集以生成真实的数据。因此,您可以使用 Bogus' Faker对象与 AutoFixture 的约定相结合。 :)

希望对您有所帮助!
布莱恩

关于c# - 伪造的,AutoFixture,其他(?): How to fill a nested model with fake data and set rules for specific properties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225677/

相关文章:

c# - 如何在 Jetbrains Rider 中自动重新排列代码?

c# - List<T>.Remove 应该放在 List<T>.Exists 之前吗?

unit-testing - 我应该如何对具有许多子功能的功能进行单元测试?

angular - 组件中的模拟服务 - 模拟被忽略

c# - 个人眼睛的快照

c# - 有参数类型限制的泛型类型不能传递给有非泛型参数的方法

ruby-on-rails - 在文件中存储测试数据的最佳格式是什么?

haskell - 如何插入测试代码

typescript - 在 Typescript 的函数中模拟获取

c# - 用参数模拟一个方法