2010-12-06 8 views

答えて

4

NBuilderは、この時点で参照型を移入自動的にサポートしていません。

ただし、ビルダを使用して各参照タイプを作成することで、必要な作業を行うことができます。あなたがやって欲しい

var person = Builder<Person> 
    .CreateNew() 
    .Build(); 

Assert.That(person.Name, Is.EqualTo("Name1")); 
Assert.That(person.Address, Is.Null); 

はこれです:私はNBuilderで発見した

var address = Builder<Address> 
    .CreateNew() 
    .Build(); 

var person2 = Builder<Person> 
    .CreateNew() 
    .With(x => x.Address = address) 
    .Build(); 

Assert.That(person2.Name, Is.EqualTo("Name1")); 
Assert.That(person2.Address, Is.Not.Null); 
Assert.That(person2.Address.Street, Is.EqualTo("Street1")); 
Assert.That(person2.Address.Zipcode, Is.EqualTo("Zipcode1")); 
1

制限は、データは、それがために発生していることであるあなたはおそらくこれをやっている瞬間

このように文字列はプロパティ名に基づいています。 Name1、Street1、Zipcode1をクリックします。 .Phrase()を使って自分自身を見つけましたが、それは合理的なランダムなデータを生成しなかったし、電子メールのような項目は一緒につなぎ合わせなければなりませんでした。

ナゲットlink here or use Visual StudioでFaker.Netをダウンロードし、ビルドコマンドの一部としてモックデータを作成することができます。その後、それを使ってPerson Mockオブジェクトを構築することができます(Faker/NBuilderを再び使用して)。

var addresses = Builder<Address>.CreateListOfSize(20) 
    .All() 
     .With(c => c.Street = Faker.StreetName().First()) 
     .With(c => c.State = Faker.UsState().First()) 
     .With(c => c.ZipCode = Faker.ZipCode().First()) 
    .Build(); 

This blog post詳細

関連する問題