首页 > 其他分享 >Bogus:.NET的假数据生成利器

Bogus:.NET的假数据生成利器

时间:2025-01-04 10:14:07浏览次数:1  
标签:示例 生成 利器 开源 Bogus NET 数据

我们在项目开发中,为了保证系统功能完整、准确性,我们都需要模拟真实数据进行测试。

今天推荐一个开源库,方便我们制造假数据测试。

01 项目简介

Bogus 是一个开源的 .NET 库,它提供了一个强大的工具集,用于生成虚假(mock)数据。方便项目用于测试、填充数据库、创建模拟数据集或生成示例数据,以便开发、测试、演示使用。

02 项目特点

1、简单易用:提供了一个简单直观的 API,使得生成各种类型的数据变得非常容易。

2、定制性强:用户可以定制生成的假数据,包括自定义格式、规则和数据类型。

3、扩展性:允许开发人员创建自己的数据生成器和处理程序,以支持特定的数据格式或结构。

4、丰富的数据类型:支持生成多种类型的数据,包括但不限于名字、地址、日期、电话号码、电子邮件地址等。

5、本地化支持:支持不同地区和文化的本地化数据生成,这使得它能够生成特定语言和地区的假数据。

6、可配置的随机性:可以配置随机种子,以便在需要可重复结果的测试场景中使用。

7、复合类型支持:能够生成复合对象的假数据,包括对象图和复杂类型的数据。

8、日期和时间生成:可以生成随机的日期和时间数据,并且可以指定范围。

9、可与其他库集成:可以轻松地与 Entity Framework 等 ORM 工具集成,用于数据库的种子数据生成。

03 使用方法

1、安装依赖库

Install-Package Bogus

2、示例代码

using Bogus;

// 创建一个 Faker 实例
var faker = new Faker();

//示例1:生成一个随机的名字
string name = faker.Person.FullName;
Console.WriteLine(name);

//示例2:生成一个随机的地址
string address = faker.Address.FullAddress();
Console.WriteLine(address);

//示例3:生成一个随机的日期
DateTime date = faker.Date.Past();
Console.WriteLine(date);

//示例4
// 创建一个自定义的数据生成器
var customGenerator = new Faker<Address>()
    .RuleFor(a => a.Street, f => f.Address.StreetName())
    .RuleFor(a => a.City, f => f.Address.City());

// 使用自定义生成器生成一个地址对象
Address generatedAddress = customGenerator.Generate();
Console.WriteLine($"Street: {generatedAddress.Street}, City: {generatedAddress.City}");

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
}

3、效果

图片

04 项目地址

https://github.com/bchavez/Bogus

- End -

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

推荐阅读

.NET日志库:Serilog、NLog、Log4Net等十大开源日志库大盘点!

ImageSharp:高性能跨平台.NET开源图形库

DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库

一个C#开源工具库,集成了超过1000个扩展方法

Plotly.NET:一个强大的、漂亮的.NET开源交互式图表库

标签:示例,生成,利器,开源,Bogus,NET,数据
From: https://www.cnblogs.com/chingho/p/18632369

相关文章

  • 基于UNet的卫星图像新增建筑检测
    文章目录介绍背景目录结构准备数据图像预处理手工标注数据增强网络训练改进U-NetF1Score加权损失函数后处理关于代码总结介绍背景在监管地上建筑物的建设、拆除、改建和扩建是一项重要任务。随着高分辨率卫星图像技术的发展以及智能算法的应用,这些工作可以实现......
  • 论文阅读:Securely Outsourcing Neural Network Inferenceto the Cloud with Lightweig
    目录1.引言(Introduction)2.预备知识(Preliminary)2.1加法秘密共享(AdditiveSecretSharing)3.系统概述(SystemOverview)3.1系统架构3.2威胁模型与隐私目标4.设计方案(ProposedDesign)4.1安全卷积层(SCONV)4.2安全批归一化(SBN)4.3安全ReLU激活(SReLU)4.4安全最大池......
  • 如何使用建筑物变化检测算法的Baseline工程 ,使用PyTorch框架,并选择U-Net来进行二分类
    建筑物变化检测算法baseline工程使用PyTorch框架,并选择U-Net来进行二分类任务(变化/不变)Baseline工程将基于深度学习方法来检测建筑物的变化备注:博客所有文章代码仅供参考!如何使用建筑物变化检测算法的Baseline工程,一个详细的步骤和代码示例。这个Baseline工程将基于深......
  • 工学云一键异地打卡,智能签到新利器
    我们团队开发了一款创新的云打卡系统,专为工学云app设计,旨在通过智能定位技术和GPT4技术,为用户提供更高效、便捷的学习与工作体验。这款系统不仅能够实现异地签到,还能够自动生成周报、日报和月报,帮助用户在专升本复习中解放双手,提升效率。系统功能介绍异地签到功能该系统采......
  • ResNet:Deep Residual Learning for Image Recognition
    摘要残差网络:一种深度学习中的神经网络结构,通过引入跳跃连接来解决深度神经网络中的梯度消失和梯度爆炸问题。ResNet(residualnetworks)的简单介绍输入层学习参差函数,而不是学习未残差的函数。以及在ImageNet和COCO数据集上取得好的成绩。1介绍揭示了网络的深度对于训练结果非......
  • .net9 openapi
    usingJwtAuth.Api.Services;usingMicrosoft.AspNetCore.Authentication.JwtBearer;usingMicrosoft.IdentityModel.Tokens;usingScalar.AspNetCore;usingSystem.Text;varbuilder=WebApplication.CreateBuilder(args);//Addservicestothecontainer.//......
  • 采集DNP3 转 profinet IO项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 配置网关采集DNP3协议数据 25 用PROFINETIO协议转发数据 46 案例总结 61 案例说明设置网关采集DNP3协议设备数据把采集的数据转成profinetIO协议转发给其他系统。2 VFBOX网关工作原理VFBOX网关是协议转换网关,......
  • .net framework 中Owin 通过启动类 Startup.cs 使用 SignalR
    1.安装SignalRNuGet包在NuGet包管理器中,搜索 Microsoft.AspNet.SignalR 并安装它2.创建SignalRHubSignalR使用Hub来处理客户端与服务器之间的通信。你可以创建一个SignalRHub类,它会处理客户端和服务器之间的实时消息传递。在你的项目中创建一个名为ChatHu......
  • HAWQ: Hessian AWare Quantization of Neural Networks With Mixed-Precision
    目录概HAWQ(HessianAWareQuantization)DongZ.,YaoZ.,GholamiA.,MahoneyM.W.andKeutzerK.HAWQ:Hessianawarequantizationofneuralnetworkswithmixed-precision.ICCV,2019.概本文利用Hessian的topeigenvalues来定位对应block所需要的量化bitw......
  • .net之阿里云短信服务集成
    概念集成阿里云短信服务引用阿里云包封装AliyunSmsClient(二次封装阿里云短信基类)publicclassAliyunSmsClient{privatereadonlyClient_client;privatereadonlyAliyunSmsOptions_options;publicAliyunSmsClient(IOptions<Aliyu......