c# - 在 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'),
]);
解决方案
推荐阅读
- java - 解析对复杂 DTO 的响应?
- javascript - Mongoose 按子条件查找文档
- java - How to Read a Large File Efficiently with Java/android
- mysql - Column that starts with AST and ends in only number
- python - Plotly Dash children= clause
- c# - C# Selenium 查找 XPath 时遇到问题
- javascript - 如何为我的 React 应用程序创建对计算机功能的游戏
- ios - iOS 13 NSKeyedUnarchiver EXC_BAD_ACCESS
- discord.py - 如何让机器人在程序关闭时发送消息
- python - Apache2 服务器如何使 Python 文件可执行但浏览网站的人不可读