标签: nbuilder

适用于Java的nBuilder替代方案

有没有像nBuilder for java 这样的工具?

我想为单元测试构建对象,我不想为我的域中的每个实体创建一个构建器类.

我目前正在使用mockito但它并没有取代nBuilder的功能.

java unit-testing builder nbuilder

11
推荐指数
1
解决办法
874
查看次数

是否可以使用NBuilder构建随机字符串的集合?

非常简单的问题:我可以使用NBuilder创建x个随机字符串的集合吗?

我在努力......

// NOTE: Tags need to be lowercase.
return Builder<string>
    .CreateListOfSize(10)
    .WhereAll()
        .Has(x => x = randomGenerator.Phrase(15))
    .WhereTheFirst(1)
        .Has(x => x = "time")
    .AndTheNext(1)
        .Has(x => x = "place")
    .AndTheNext(1)
        .Has(x => x = "colour")
    .Build();
Run Code Online (Sandbox Code Playgroud)

但它是运行时错误,我需要调用一些特定的构造函数或其他东西.

有人有主意吗?

.net string random nbuilder

10
推荐指数
2
解决办法
5104
查看次数

如何在 C# 中最小起订量受保护的属性

public class Business {  
    protected List<BusinessRulesDto> BusinessRules { get; set; }  
}
Run Code Online (Sandbox Code Playgroud)

我试过:

  1. businessMockObject.Protected().SetupSet<List<BusinessRulesDto>>("BusinessRules", ItExpr.IsAny<List<BusinessRulesDto>>()).Verifiable();
    
    Run Code Online (Sandbox Code Playgroud)
  2. var businessRulesDtoList = Builder<BusinessRulesDto>.CreateListOfSize(2).Build().ToList();  
    businessMockObject.Protected().SetupGet<List<BusinessRulesDto>>("BusinessRules").Returns(businessRulesDtoList);
    businessMockObject.Protected().SetupSet<List<BusinessRulesDto>>("BusinessRules", ItExpr.IsAny<List<BusinessRulesDto>>()).Verifiable();
    
    Run Code Online (Sandbox Code Playgroud)

我尝试了很多事情,但都没有成功。我可以模拟受保护的方法,但不能模拟受保护的属性。

如何模拟受保护的属性?

c# unit-testing moq nbuilder

6
推荐指数
1
解决办法
9802
查看次数

nBuilder仅填充值类型

我正在使用nBuilder填充对象图,但它仅填充值类型。我希望它填充引用类型(相关对象)。

http://nbuilder.org/

c# nbuilder

5
推荐指数
1
解决办法
2071
查看次数

有没有办法用测试数据创建一个类型的实例?

我有一个类型,并希望用测试数据创建它的实例.

我知道像NBuilderAutoFixture这样的框架可以创建在设计时(<T>)已知类型的实例.这些框架是否能够基于仅在runtime(Type)中已知的类型创建实例?

最后,我想做一些事情:

var value = Builder.Create(type);
var constant = Expression.Constant(value, type);
Run Code Online (Sandbox Code Playgroud)

c# autofixture nbuilder

5
推荐指数
1
解决办法
386
查看次数

如何使用NBuilder自动创建子集合?

鉴于以下课程:

class Department
{
    public String Name { get; set; }
    public IList<Employee> Employees { get; set; }
}
class Employee
{
    public String Name { get; set; }
    public String Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

使用NBuilder,我可以创建一个部门对象,并通过以下方式分配10名员工:

var employees = Builder<Employee>.CreateListOfSize(10).Build();
var department = Builder<Department>
    .CreateNew()
    .With(d=>d.Employees = employees)
    .Build();
Run Code Online (Sandbox Code Playgroud)

这适用于少量的集合,但是对于大型集合来说它很麻烦.有没有办法让NBuilder自动填充对象中的所有集合?

顺便说一句,我没有绑定NBuilder,所以如果有另一个免费的图书馆这样做,我会非常乐意切换.

.net nbuilder

4
推荐指数
1
解决办法
1029
查看次数

同一名称空间中的类和扩展方法容器类.有什么好处?

我在单元测试中尝试NBuilder.一个很棒的图书馆 但是,我无法解释类和接口的以下结构.

  • FizzWare.NBuilder名称空间中

    • ISingleObjectBuilder
    • SingleObjectBuilderExtensions
  • FizzWare.NBuilder.Implementation

    • IObjectBuilder`
    • ObjectBuilder
  • SingleObjectBuilderExtensions只是一个包装IObjectBuilder.

  • 客户端代码通常应该使用一个名为的类,该类Builder具有一个静态方法ISingleObjectBuilder.您永远不需要在客户端代码中实例化任何类.

现在,我不明白了SingleObjectBuilderExtensions.它是否具有任何设计效益?ISingleObjectBuilder当两个接口在同一名称空间中时,为什么不直接使用这些方法.

c# extension-methods nbuilder

3
推荐指数
1
解决办法
418
查看次数

如何使用moq模拟私有只读IList <T>属性

我试图模仿这个列表:

private readonly IList<MyClass> myList = new List<MyClass>();
Run Code Online (Sandbox Code Playgroud)

使用这个(如看到这里):

IList<MyClass> mockList = Builder<MyClass>.CreateListOfSize(5).Build();
mockObj.SetupGet<IEnumerable<MyClass>>(o => o.myList).Returns(stakeHoldersList);
Run Code Online (Sandbox Code Playgroud)

但是在运行时我得到一个InvalidCastException:

Unable to cast object of type 'System.Collections.Generic.List`1[MyClass]' to
type 'System.Collections.ObjectModel.ReadOnlyCollection`1[MyClass]'.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# moq nbuilder

2
推荐指数
1
解决办法
3224
查看次数

NBuilder - 问题创建嵌套对象

我正在尝试创建一些具有这样的层次结构的虚拟对象:

Post
 |
 ----User
Run Code Online (Sandbox Code Playgroud)

很简单.

这是代码:

var user = Builder<User>.CreateNew().Build();
var posts  = Builder<Post>.CreateListOfSize(100)
                .All()
                .With(x => x.User == user)
                .Build();
Run Code Online (Sandbox Code Playgroud)

但是对于每个项目,post.User都是null.

有任何想法吗?

c# .net-4.0 nbuilder

1
推荐指数
1
解决办法
1759
查看次数