首页 > 其他分享 >自动生成测试数据

自动生成测试数据

时间:2024-05-14 15:29:49浏览次数:21  
标签:Console string 示例 测试数据 生成 自动 AutoFixture public

AutoFixture

AutoFixture 是一个用于 .NET 的测试工具,它允许开发者在单元测试中自动生成随机的测试数据。它支持广泛的数据类型,包括常见的基元类型、复杂对象、集合等。AutoFixture 通过使用继承、接口、属性和构造函数等机制来推断如何创建复杂的对象。

安装:

Install-Package AutoFixture

示例代码:

using AutoFixture;
using Newtonsoft.Json;

Fixture fixture = new Fixture();
var sut = fixture.Create<TestClass>();
var json = JsonConvert.SerializeObject(sut, Formatting.Indented);
Console.WriteLine(json);
Console.ReadLine();

public class TestClass
{
    public int Index { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

源码库:
https://github.com/AutoFixture/AutoFixture

Bogus

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

安装:

Install-Package Bogus

示例代码:

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; }
}

源码库:
https://github.com/bchavez/Bogus

标签:Console,string,示例,测试数据,生成,自动,AutoFixture,public
From: https://www.cnblogs.com/wzwyc/p/18191415

相关文章

  • 【MFC】生成工程文件剖析
    1、头文件(基础文件):核心文件——framework.h(可以理解为基础层)资源文件——Resource.h(可以理解为资源层)入口文件——MFC.h(可以理解为调用层)框架文件——MFCDlg.h、CLoginDlg.h(可以理解为业务逻辑层)2、源文件入口文件——MFC.cpp业务文件——MFCDlg.c......
  • 开发可以自动运行程序的U盘
    [email protected] 转载于https://www.cnblogs.com/scq2099yt/archive/2008/03/05/1091170.html一.为什么要开发这样的U盘可以自动运行程序的U盘插入电脑后U盘里面的程序会自动运行,这样的U盘可以作为软件厂商存储程序的载体,也可以作为U盘厂商扩展U盘功能的一种途径。举几个例......
  • [转帖]国产数据库中统计信息自动更新机制
    https://blog.csdn.net/solihawk/article/details/137064277数据库中统计信息描述的数据库中表和索引的大小数以及数据分布状况,统计信息的准确性对优化器选择执行计划时具有重要的参考意义。本文简要整理了下传统数据库和国产数据库中统计信息的自动更新机制,以加深了解。......
  • selenium UI自动化基础知识
    元素定位:1.怎么判断元素是否存在?判断元素是否存在和是否出现不同,判断是否存在意味着如果这个元素压根就不存在,就会抛出NoSuchElementException这样就可以使用trycatch,如果catch到NoSuchElementException就返回false。通常在项目中会把这个功能封装在isElementPresent方法中......
  • 易易二维码,多功能在线文件预览与二维码生成器
    一、引言在数字化时代,信息的传递与分享变得尤为重要。无论是商务文件、个人文档,还是活动宣传、产品推广,都需要一种高效、便捷的方式来进行信息的展示与分享。易易二维码,作为一款集多WPS、Office文件在线预览、二维码设计、二维码在线报名、网址、图文、文件转二维码以及二维码浏......
  • linux生成ssh的一对公钥和私钥,然后配置git ssh拉取仓库代码
    linuxserver中如果想通过ssh方式拉取代码,那么就需要做一些配置:1.需要linux生成ssh的一对公钥和私钥:具体可以参考这篇文章:https://www.cnblogs.com/pingguomang/p/17926730.html 2.把这个公钥配置到gitlab仓库的sshandgpgkeys中:进入gitlab密钥对设置settings页面->SSHan......
  • 运维自动化新篇章:从业务到拓扑,一键构建集群模块
    业务,是蓝鲸CD体系中比较重要的概念和维度,日常使用中主机、进程、业务拓扑的管理都需要依赖已经存在的业务,其他蓝鲸体系产品也基本上都是围绕业务的维度来提供对应的服务和相关的鉴权。1、创建业务/业务集请确保有创建业务的权限,一般可以由管理员创建或申请创建业务的权限资......
  • WEB自动化测试-CSS定位
    CSS相对定位:1、可维护性更强2、语法更加简洁3、可以解决复杂定位场景调试方法:1、进行浏览器的console:2、输入:$(""),输入内有字符串和外层字符串相反,外单内双,外双内单CSS基础语法4方式1、id:$("#site-logo")格式:$("#+id")2、class:(".logo-big")格式:$("......
  • Photoshop AI生成式填充工具,PS AI怎么用,怎么注册升级PS AI账号?
    Adobe发布全新生成式人工智慧功能——生成式扩展(GenerativeExpand),推进Photoshop的生成式AI功能发展更上一层楼。老牌的PS也加入到AI浪潮中,推出了一个相当炸裂的AI功能。PSAI能用来做什么这是一款功能强大且使用方便的图像处理软件,它采用了AdobeFirefly提供的AI绘图技术,可以......
  • 使用 Playwright 复用 Cookie:简化自动化测试的高效方法
    前言在进行自动化测试时,有时需要在多个测试用例之间共享相同的会话状态。为了实现这一目标,Playwright提供了一种称为Cookie复用的功能,可以让我们在不同的测试用例之间共享同一组Cookie数据。本文将深入介绍如何使用Playwright复用Cookie,并探讨其使用方法和优势。什么是......