2017-12-11 3 views
2

AutoFixure에서 궁금한 점이 있습니까? 미리 정의 된 목록에서 임의로 선택할 수있는 방법이 있습니까? 예를 들어 fixture.Create 또는 fixture.CreateMany을 사용하면 미리 정의 된 목록에서 임의로 개체를 선택합니다. documentation과 비슷한 것을 찾지 못했고 스택 오버플로를 검색했기 때문에 심지어 이것이 가능하다는 것을 확신하지 못했습니다.AutoFixure, 미리 정의 된 목록에서 무작위로 선택

답변

3

당신은 ElementsBuilder<T>를 사용할 수 있습니다

[Fact] 
public void Example() 
{ 
    var fixture = new Fixture(); 
    fixture.Customizations.Add(
     new ElementsBuilder<MyObject>(
      new MyObject("foo"), 
      new MyObject("bar"), 
      new MyObject("baz"))); 

    var actual = fixture.Create<MyObject>(); 

    Assert.Contains(actual.Name, new[] { "foo", "bar", "baz" }); 
} 

이 테스트를 통과한다.

실제 코드베이스에서는 해당 수정을 ICustomization에 패키지화해야합니다.

관련 문제