用随机数据填充对象的 C# 库[关闭]

2023-12-27

我想用随机数据填充我的对象(用于测试目的),是否有库可以做到这一点?

某种反射方法,它将遍历对象图并初始化原始属性,如(字符串、整数、日期时间等)(但以深层方式进行,包括集合、子对象等)


Bogus https://github.com/bchavez/Bogus

Bogus https://github.com/bchavez/Bogus是一个简单而健全的 C# 和 .NET 伪数据生成器。一个 C# 端口faker.js https://github.com/marak/Faker.js/并受到 FluentValidation 语法糖的启发。支持.NET核心.

Setup

public enum Gender
{
   Male,
   Female
}

var userIds = 0;

var testUsers = new Faker<User>()
    //Optional: Call for objects that have complex initialization
    .CustomInstantiator(f => new User(userIds++, f.Random.Replace("###-##-####")))

    //Basic rules using built-in generators
    .RuleFor(u => u.FirstName, f => f.Name.FirstName())
    .RuleFor(u => u.LastName, f => f.Name.LastName())
    .RuleFor(u => u.Avatar, f => f.Internet.Avatar())
    .RuleFor(u => u.UserName, (f, u) => f.Internet.UserName(u.FirstName, u.LastName))
    .RuleFor(u => u.Email, (f, u) => f.Internet.Email(u.FirstName, u.LastName))
    //Use an enum outside scope.
    .RuleFor(u => u.Gender, f => f.PickRandom<Gender>())
    //Use a method outside scope.
    .RuleFor(u => u.CartId, f => Guid.NewGuid());

Generate

var user = testUsers.Generate();
Console.WriteLine(user.DumpAsJson());

/* OUTPUT:
{
  "Id": 0,
  "FirstName": "Audrey",
  "LastName": "Spencer",
  "FullName": "Audrey Spencer",
  "UserName": "Audrey_Spencer72",
  "Email": "[email protected] /cdn-cgi/l/email-protection",
  "Avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg",
  "Gender": 0,
  "CartId": "863f9462-5b88-471f-b833-991d68db8c93", ....

没有流畅的语法

  public void Without_Fluent_Syntax()
  {
      var random = new Bogus.Randomizer();
      var lorem = new Bogus.DataSets.Lorem();
      var o = new Order()
          {
              OrderId = random.Number(1, 100),
              Item = lorem.Sentence(),
              Quantity = random.Number(1, 10)
          };
      o.Dump();
  }
  /* OUTPUT:
  {
    "OrderId": 61,
    "Item": "vel est ipsa",
    "Quantity": 7
  } */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用随机数据填充对象的 C# 库[关闭] 的相关文章

  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • 构建 C# MVC 5 站点时项目之间的处理器架构不匹配

    我收到的错误如下 2017 年 4 月 20 日构建 13 23 38 C Windows Microsoft NET Framework v4 0 30319 Microsoft Common targets 1605 5 警告 MSB3
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • 删除对象数组中的重复项 Javascript

    我有一个对象数组 list x 1 y 2 x 3 y 4 x 5 y 6 x 1 y 2 我正在寻找一种有效的方法 如果可能的话 O log n 删除重复项并最终得到 list x 1 y 2 x 3 y 4 x 5 y 6 我试过了 u
  • 在java中填充数字直到字符串长度为8个字符?

    我正在阅读 但找不到完整的片段 我正在寻找一个函数 它接受一个字符串并在左侧填充零 0 直到整个字符串的长度为 8 位 我找到的所有其他片段只让整数控制要填充的数量 而不是让整数控制填充的数量 直到整个字符串的长度为 x 位 在Java中
  • 为什么 Oracle 会忽略“完美”索引?

    我有这张表 create table demo key number 10 not null type varchar2 3 not null state varchar2 16 not null lots more columns 和这个
  • HiLo 还是身份?

    只是想获得一些关于主键的意见 使用身份 序列号或使用 HiLo 策略 查询高值并增加应用程序本身的低值 会更好吗 如果您将 SQL Server 2005 2008 与大型表 gt 100 万行 一起使用 您可能需要考虑this http
  • Java 变量隐藏方法重写概念

    我正在努力理解 Java 继承的变量 阴影方法和重写概念 Case 1 class Car public int gearRatio 8 public String accelerate return Accelerate Car clas
  • 链接某些 Windows API 时出现链接器错误

    我的系统中有一个 makefile 项目 最近 我添加了一些使用以下 Windows API 的新函数 RegOpenKeyEx RegEnumKeyEx RegCloseKey RegGetValue 为了拥有这些 APIS 我添加了wi
  • 尝试运行 ts-node 脚本时出现未知文件扩展名“.ts”错误

    我正在尝试运行在带有两个 ts 文件的常规文件夹中创建的脚本 一份包含脚本 另一份包含运行脚本的辅助函数 我还导入了更多东西 例如 axios 或表单数据 问题是 当我尝试使用 ts node 运行脚本时 节点脚本 ts 出现如下错误 Ty
  • 定期JavaFX服务

    我想从我的 JavaFX 应用程序定期执行任务 该任务从远程流中提取数据 虽然我知道我可以使用计时器 如下所示 JavaFX周期性后台任务 https stackoverflow com questions 9966136 javafx p
  • 在 iOS 中获取 iPhone 位置,无需将首选项“定位服务”设置为“开”

    我正在写一个类似于的守护进程克里斯 阿尔瓦雷斯守护进程 http chrisalvares com blog 7 creating an iphone daemon part 1 我想在未经用户许可的情况下在后台获取设备位置 如果Locat
  • 使用 Bitbucket Pipelines 从 docker 实例通过 SSH 连接到临时计算机

    使用新的 Bitbucket Pipelines 功能 我如何从它启动的 docker 容器通过 SSH 访问我的暂存盒 我的管道中的最后一步是 sh在暂存上部署必要代码的文件 但是由于我的暂存盒使用公钥身份验证并且不知道 docker 容
  • F# 交互式中的 Windows UI(UWP 或 8.1)

    通过引用默认的 WPF DLL 使用纯代码 WPF 可以轻松完成任何操作 r PresentationCore dll r PresentationFramework dll other DLLs r WindowsBase dll let
  • 使用Python从屏幕捕获视频数据

    有没有办法使用Python 也许使用OpenCV或PIL 连续抓取整个或部分屏幕的帧 至少以15 fps或更高的速度 我见过用其他语言完成的 所以理论上它应该是可能的 我不需要将图像数据保存到文件中 实际上 我只是希望它输出一个包含原始 R
  • Typescript 能够进行简单的函数组合吗?

    Typescript 能够进行简单的函数组合吗 我写出了以下用于测试的 compose map 和 filter 的基本实现 下面先设置类型和功能 然后再实现 javascript 似乎没问题 但打字稿显示误报compose用来 具体来说
  • 使用Remoting时如何在.NET3.5中使用App.config而不需要在App.config中添加Remoting相关配置?

    我正在尝试将 App config 用于托管远程处理并在 NET3 5 中开发的 Windows 服务应用程序 在该 App config 中 我想保留一些将在整个解决方案中使用的值 我没有向其中添加远程关系配置内容 但是在运行应用程序时
  • TypeORM 中 .limit() 和 .take() 之间的区别

    我对具有相似目的的不同 TypeORM 方法感到困惑 来自 TypeORM 文档 take 分页限制 设置要获取的最大实体数 skip 分页偏移量 设置要跳过的实体数量 我不太理解 分页限制 偏移 的含义 但是 不幸的是 我找不到任何有关区
  • 如何在FMX2中直接访问TBitmap像素(TBitmap.ScanLine替换)?

    The FMX Types TBitmap http docwiki embarcadero com Libraries XE2 en FMX Types TBitmap类有ScanLine http docwiki embarcadero
  • 如何设计反应制表符表的样式?

    任何人都可以向我提供一些有关如何设计反应制表符表样式的信息吗 我一直在尝试更改标题颜色 边框等 但徒劳无功 我只在文档中找到类名 例如className table bordered table striped 但这对我没有帮助 我想创建自
  • 如何让 Monodevelop 重新使用英语作为其语言

    我不知道这是怎么发生的 但是当我启动 Monodevelop 时 菜单突然以英语以外的语言出现 我尝试重新安装应用程序以及手动删除库下其他目录中的工件 没有运气 重新安装后 它仍然以另一种语言加载 您可以在选项 首选项对话框下更改语言 对我
  • 随机化框中的 (x,y,z) 坐标

    我对 python 相当陌生 在我当前的任务中 它研究的是 3D 粒子 问题的第一部分要求创建一个程序 将相同的 不重叠的粒子放入立方晶格中 所以我下面的代码只是迭代所有可能的组合 将其放入 XYZ 文件中 xyz 文件的格式如下 1000
  • 用随机数据填充对象的 C# 库[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想用随机数据填充我的对象 用于测试目的 是否有库可以做到这一点 某种反射方法 它将遍历对象图并初始化原