aaronsaray/laravel-test-helpers

此包已被弃用且不再维护。未建议替换包。

Aaron Saray 的 Laravel 测试助手。

1.1.0 2019-06-14 00:12 UTC

This package is auto-updated.

Last update: 2020-02-14 02:03:20 UTC


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();,这将标记测试为不完整,并给出带有测试名称的错误标准输出消息。