NBuilder 快速构建测试数据

NBuilder 是一个开源项目,通过流畅且可扩展的接口,允许开发者迅速生成测试数据,自动为内置 .NET 数据类型(如 int 和 string)的属性和公共字段赋值。它还支持通过 lambda 表达式自定义感兴趣的属性。本文提供了三个实例来展示如何使用 NBuilder,包括设置标题、描述、价格等,并展示了如何通过构造函数和 lambda 表达式生成不同类型的测试数据。

What is it?

Through a fluent, extensible interface, NBuilder allows you to rapidly create test data, automatically assigning values to properties and public fields that are of type of the built in .NET data types (e.g. ints and strings). NBuilder allows you to override for properties you are interested in using lambda expressions.

NBuilder is an open source project, hosted on google code

Some quick examples

Example #1

1
2
3
4
var products = Builder<Product>.CreateListOfSize(10)
                                .TheFirst(2)
                                    .With(x => x.Title = "special title" )
                                .Build();

Would give you something like this:

Example #2

1
2
3
4
5
6
7
var products = Builder<Product>.CreateListOfSize(10)
                                .All()
                                    .WithConstructor(() => new Product( "my title" ))
                                .Random(5)
                                    .WithConstructor(() => new Product( "my other title" ))
                                    .And(x => x.Created = August.The17th.At(09, 00))
                                .Build();

Would give you something like this:

Example #3

1
2
3
4
5
6
7
8
9
10
11
12
var generator = new UniqueRandomGenerator();
 
var products = Builder<Product>.CreateListOfSize(10)
                                .TheFirst(2)
                                    .With(x => x.Title = "special title 1" )
                                    .And(x => x.Description = "special description 1" )
                                .TheNext(3)
                                    .With(x => x.Title = "special title 2" )
                                .TheNext(5)
                                    .With(x => x.Title = "special title 3" )
                                    .And(x => x.Price = generator.Next(0m, 10m))
                                .Build();

Would give you something like this:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值