プロジェクトにFaker Port for C# ( https://github.com/oriches/faker-cs )をインストールしましたが、プロジェクト サイトに使用例がありません。
誰かが基本的なモック データ生成の例を投稿できますか?
プロジェクトにFaker Port for C# ( https://github.com/oriches/faker-cs )をインストールしましたが、プロジェクト サイトに使用例がありません。
誰かが基本的なモック データ生成の例を投稿できますか?
この例では、MVC4、EF Code First、自動移行を使用するプロジェクトを使用しています。したがって、同じものを使用している場合、Migrations\Configuration.cs
ファイルは次のようになります。
internal sealed class Configuration : DbMigrationsConfiguration<MyProject.Models.MyProjectContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
...
単一要素の場合、例は自明です。
protected override void Seed(MyProject.Models.MyProjectContext context)
{
context.Customers.AddOrUpdate(
c => c.Name,
new Customer { Name = Faker.Name.FullName() }
);
context.SaveChanges();
...
定義された数の要素については、Factory Girl (Ruby on Rails 用) のように、ラムダ式を使用するというアイデアが気に入りました。私が作成した別の質問 ( DbMigrations in .NET w/ Code First: How to Repeat Instructions with Expressions ) では、答えはEnumberable.Range()
要素の量を指定するために使用されます。
protected override void Seed(MyProject.Models.MyProjectContext context)
{
context.Companies.AddOrUpdate(
p => p.Name,
Enumerable.Range(1, 10).
Select( x => new Company { Name = Faker.Company.Name() }).ToArray()
);
context.SaveChanges();
}
...
利用可能なリソースが不足していますが、この記事は期待通りのもののようです。
また、アセンブリ/オブジェクト ブラウザを使用して、利用可能なリソース (Classes
ライブラリMethods
に含まれている など) を調べてみてください。さらに、ライブラリにはテストが含まれてNUnit
いるため、テストのコードを見ることも有益であることがわかります。
Faker.NET はffakerと呼ばれる Ruby ライブラリのポートであるため、コードの意図が似ていることを暗示することもできます。したがって、ffaker の単体テストを小さなリファレンスとして使用することもできます。