首页 > 解决方案 > 在 C# 中使用 Laravel 模型工厂

问题描述

所以我主要使用 C#,但我一直在观看 Adam Wathan 的 TDD Laravel 课程,以了解那个世界的情况。我遇到了这个模型工厂的想法,我以前在 C# 中没有见过材料,我很好奇你们会如何推荐这样做?我猜测接口类与 Moq 的某种组合?能够只提供我在单元测试中测试的字段(在下面的示例中,我只检查日期)并且会使事情变得简单和更具可读性,这将是非常好的。

这是 Laravel 中模型工厂的示例。这样,您的单元测试就有了默认的假数据,并且只能通过您要测试的特定数据,在这种情况下,这是一个以日期为中心的单元测试。

$factory->define(App\Concert::class, function (Faker\Generator $faker) {
    return [
        'title' => 'Example Band',
        'subtitle' => 'with The Fake Openers',
        'date' => Carbon::parse('+2 weeks'),
        'ticket_price' => 2000,
        'venue' => 'The Example Theatre',
        'venue_address' => '123 Example Lane',
        'city' => 'Fakeville',
        'state' => 'ON',
        'zip' => '90210',
        'additional_information' => 'Some sample additional information.',
    ];
});

$concert = factory(Concert::class)->create([
            'date' => Carbon::parse('2016-12-01 8:00pm'),
        ]);

标签: c#laravelunit-testingmockingfactory-pattern

解决方案


推荐阅读