C#使用Bogus生成测试数据

简介: C#使用Bogus生成测试数据

Bogus介绍

Bogus 是一个流行的 C# 库,用于生成伪造数据。它提供了简单而强大的 API,可以帮助开发人员轻松生成各种类型的随机数据,包括姓名、地址、日期、电子邮件、电话号码等。Bogus 设计灵活,使其适用于各种测试场景,包括单元测试、集成测试以及其他需要测试数据的情况。

使用 Bogus,您可以轻松地生成具有逼真感的数据,这对于模拟真实环境下的数据输入非常有用。其 API 非常简单直观,您可以通过链式调用配置生成的数据,使其符合您的需求。

Bogus 还提供了多种语言和地区的支持,因此您可以生成特定语言或地区的名称、地址等数据,这在国际化应用程序的测试中尤为有用。

总之,Bogus 是一个功能丰富、易于使用的库,为 C# 开发人员提供了快速、方便的方法来生成各种类型的测试数据,从而提高了测试效率和质量。

示例

创建的Student类如下:

public class Student
 {      
     public string? Name { get; set; }  
     public int Age { get; set; }
     public string? Major { get; set; }
     public string? Home { get; set; }
 }

生成1000条数据:

var cities = new [] { "武汉", "福州","泉州","深圳","北京","上海","广州","厦门","成都","重庆" };
  var testStudents = new Faker<Student>("zh_CN")
      .RuleFor(s => s.Name, f => f.Name.LastName() + f.Name.FirstName())              
      .RuleFor(s => s.Age, f => f.Random.Int(18, 25))
      .RuleFor(s => s.Major, f => f.Commerce.Department())
      .RuleFor(s => s.Home,f => f.PickRandom((cities)))
      .Generate(1000);

结果如下所示:

new Faker<Student>("zh_CN")

<Student>表示生成的类,"zh_CN"表示生成中文,支持中文的就会用中文。

.RuleFor(s => s.Name, f => f.Name.LastName() + f.Name.FirstName())

链式调用,前面写类的属性名,后面写的是如何赋值,这里是使用LastName+FirstName的形式。

.RuleFor(s => s.Home,f => f.PickRandom((cities)))

表示从自己定义的数组:

var cities = new [] { "武汉", "福州","泉州","深圳","北京","上海","广州","厦门","成都","重庆" };

随机选择一个值。

.Generate(1000);

表示生成1000条数据。

目录
相关文章
|
3天前
|
存储 测试技术 数据库
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
|
12天前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
23 4
|
10天前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
29 1
|
10天前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
35 1
|
12天前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
24 2
|
12天前
|
SQL 缓存 分布式计算
C#如何处理上亿级数据的查询效率
C#如何处理上亿级数据的查询效率
12 1
|
14天前
|
存储 监控 网络安全
内网渗透测试基础——敏感数据的防护
内网渗透测试基础——敏感数据的防护
27 2
|
14天前
|
SQL 关系型数据库 MySQL
SQL批量插入测试数据的几种方法?
SQL批量插入测试数据的几种方法?
38 1
|
1月前
|
测试技术 C# 开发工具
C# 标准性能测试
本文介绍如何使用 BenchmarkDotNet 工具进行性能测试。通过 GitHub 代码示例展示如何安装并应用此工具,对函数或静态方法进行精确的性能分析。首先需通过 NuGet 安装 BenchmarkDotNet,然后在测试函数上添加 `[Benchmark]` 特性,并使用 `BenchmarkRunner.Run&lt;&gt;();` 进行测试。测试过程中包括 Pilot、Warmup 和 Target 等阶段,并提供 Mean、Error 和 StdDev 等统计信息。
31 3
C# 标准性能测试
|
11天前
|
存储 SQL 分布式计算
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
23 0