Я унаследовал проект laravel для обслуживания и по разным необъяснимым мне причинам (предыдущие разработчики ушли, без возможности связаться с ними) не имеет миграций базы данных для него.
В моей базе кода у меня естьбыло поручено увеличить покрытие кода для тестов.Но тесты между ними не имеют никакой изоляции, поэтому, в отличие от этого [ответа] [1], некоторые из них могут потерпеть неудачу по этой причине.
Чтобы решить эту проблему, я нашел это [решение][2] предоставлено самим laravel:
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
{
use RefreshDatabase;
/**
* A basic functional test example.
*
* @return void
*/
public function testBasicExample()
{
// Test something here
}
}
Но в моем обосновании есть следующая проблема:
Работает ли этот подход без сценариев миграции, если нет, то как я могу преодолеть проблему?
И для этого мне нужен ваш вклад, чтобы удалить его.
[1] https://softwareengineering.stackexchange.com/a/394148/249660
[2] https://laravel.com/docs/5.8/database-testing#resetting-the-database-after-each-test