相关疑难解决方法(0)

AutoFixture可以在对象创建时执行委托吗?

我想定制AutoFixture的创建时行为,这样我可以在生成和分配灯具的属性后设置一些相关对象.

例如,假设我有一个自定义a的方法,User因为IsDeleted对于某组测试,它的属性总是必须为false:

public class User
{
   public int Id { get; set; }
   public string Name { get; set; }
   public bool IsDeleted { get; set; }
}

public static ObjectBuilder<User> BuildUser(this Fixture f)
{
   return f.Build<User>().With(u => u.IsDeleted, false);
}
Run Code Online (Sandbox Code Playgroud)

(我交回ObjectBuilder测试,以便在必要时可以进一步定制夹具.)

我想做的是Id在创建时自动将该用户与匿名集合相关联,但我不能这样做,因为Id当我将返回值返回到单元测试时尚未生成正确.这是我正在尝试做的事情:

public static ObjectBuilder<User> BuildUserIn(this Fixture f, UserCollection uc)
{
   return f.Build<User>()
           .With(u => u.IsDeleted, false);
           .AfterCreation(u =>
            {
               var relation = f.Build<UserCollectionMembership>()
                               .With(ucm => ucm.UserCollectionId, …
Run Code Online (Sandbox Code Playgroud)

c# autofixture

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

标签 统计

autofixture ×1

c# ×1