aaronsaray / laravel-test-helpers
Aaron Saray 的 Laravel 测试助手。
Requires
- php: ^7.1
README
这些是我经常在单元测试中使用的辅助方法。
辅助方法
停止数据库访问
在单元测试中,我不希望有数据库访问。集成测试是数据库集成的地方。在某些情况下,由于单元测试配置错误,我们可能会引入数据库依赖。要停止这种情况,请使用以下方法
use AaronSaray\LaravelTestHelpers\StopDBAccess
然后在你的 setUp()
方法(或单元测试中的每个方法),调用 $this->stopDBAccess()
请注意,这实际上会在数据库访问后发出警告,而不是停止它。之后,它会抛出 AaronSaray\LaravelTestHelper\Exceptions\DatabaseAccessException
创建模拟用户
通常,你首先可能需要创建一个用户,然后在单元测试中将他们设置为模拟用户。你可以使用以下方法实现
use AaronSaray\LaravelTestHelpers\CreatingActingAs
然后,你可以调用 $this->createActingAs($passToFactory)
,这将设置 $this->actingAs
到用户模型,并在测试上下文中设置它。
刷新后播种
当你需要在第一次迁移(重新)刷新后立即播种数据时
use AaronSaray\LaravelTestHelpers\SeedAfterRefresh
现在,当调用 migrate:fresh
时,db:seed
将在之后(测试套件的开始)调用。
标记测试跳过,因为待办事项
有时你可能没有足够的时间进行所有测试(惭愧!)但这并不意味着你想忘记它们。
use AaronSaray\LaravelTestHelpers\HasTodo
然后调用 $this->todo();
,这将标记测试为不完整,并给出带有测试名称的错误标准输出消息。