c# - 模拟对象数据

标签 c# mocking test-data lorem-ipsum

我想模拟对象数据,而不是对象本身。换句话说,我想生成一个包含 n 个对象的集合,并将其传递给一个生成随机数据字符串和数字的函数。有什么办法吗?将其视为 Lorem Ipsum对于对象数据。围绕数值范围等的限制不是必需的,但会是一个额外的好处。

最佳答案

当我看到你的问题时,我首先想到的是 QuickCheck,它是 Haskell 的测试工具。在 QuickCheck 中,您指定函数应具有的属性(不变量),并且可以指定输入的有效范围(加上更多功能),QuickCheck 将生成一堆随机输入数据并将其扔给您的函数并进行检查,请参阅如果输出符合规范。仔细查看了一下,我发现它有一个 F# 端口,所以 QuickCheck 存在于 .net 世界中:

http://fscheck.codeplex.com/

还有一个 MS Research 项目 Pex 可能与您的想法很接近:

http://research.microsoft.com/en-us/projects/Pex/

“...Pex 发现您的方法的有趣输入输出值,您可以将其保存为具有高代码覆盖率的小型测试套件。Microsoft Pex 是用于测试 .NET Framework 应用程序的 Visual Studio 加载项。”

我以前没有用过它,但它看起来很适合生成用于执行函数的任何和所有分支的边缘案例数据。它实际上分析了一个函数,而不是仅仅向它扔真正随机的东西。

关于c# - 模拟对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821538/

相关文章:

test-data - 有哪些好的数据集在线资源?

javascript - 如何在 node.js 中存储和修改大型数据集?

c# - 如何通过 Unity 容器配置 HttpClient?

c# - 如何在 WPF 中使用 Segoe MDL2 Assets 字体以编程方式创建文本 block

java - 修改 void 函数的输入参数,然后读取

python - 在 python 中测试数据生成框架?

C# Windows窗体算法计算

c# - 使用 CaSTLe Windsor 在 WebAPI 中进行依赖注入(inject)

c# - 以尽可能小的努力从 StreamWriter 继承

python - 具有模拟和多个功能的单元测试