当前位置:  开发笔记 > 编程语言 > 正文

如何使用It.IsIn(someRange)为多个字段迭代POCO属性的组合?

如何解决《如何使用It.IsIn(someRange)为多个字段迭代POCO属性的组合?》经验,为你挑选了0个好方法。

我有一个POCO课程:

public class SomeEntity {
  public int Id { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
}

我想在SomeEntity类中使用不同的值测试其他一些类.问题是我需要测试许多属性的不同组合.例如:

    Id = 1,FirstName = null,LastName ="Doe"

    Id = 1,FirstName ="",LastName ="Doe"

    Id = 1,FirstName ="John",LastName ="Doe"

    Id = 1,FirstName = null,LastName =""

    等等

所以在每个测试中我想创建这样的测试对象:

// test that someOtherObject always return the same result 
// for testObject with ID = 1 and accepts any values from range of 
// values for FirstName and LastName

var testObject = new SomeEntity {
  Id = 1, // this must be always 1 for this test
  FirstName = It.IsIn(someListOfPossibleValues), // each of this values must be accepted in test
  LastName = It.IsIn(someListOfPossibleValues) // each of this values must be accepted in test
}

var result = someOtherObject.DoSomething(testObject);

Assert.AreEqual("some expectation", result);

我不想使用nunit TestCase,因为会有很多组合(巨大的矩阵).

我尝试在调试中运行此测试,它只使用list中的第一个值调用DoSomething一次.

问题:如何结合所有可能的值?

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有