Конкретно мой проект написан на Laravel, но большой роли это не играет думаю.
Вопрос:
нужно ли пытаться отвязаться от исходного кода проекта? например при тестировании api создания или удаления, нужны данные можно очень легко создать с помощь Model::factory()->make() (при условии что фабрики уже есть конечно же) и всё будет прекрасно работать.
$params = Model::factory()->make()->toArray();
$this->post('blablabla', $params)
мне же предлагают отказаться от фабрик и вручную все параметры заполнять
$this->post('blablabla', [
'param1' => 'value',
'param2' => 'value',
'param3' => 'value',
'param4' => 'value',
'param5' => 'value',
'param6' => 'value',
'param7' => 'value',
'param8' => 'value',
'param9' => 'value',
])
вопрос - зачем?
главный аргумент, как я понимаю - это стабильность тестов и разговоры в стиле "а вот если фабрики удалят, а вот если будет рефакторинг кода, а вот если, а вот если".
но по-моему это какой-то бред и что-то неадекватное )
1) по-моему нет вообще ни одного сценария удаления фабрики (если она вообще была сделана), если уж удаляют фабрику, то наверное и тест api не нужен;
2) при рефакторинге кода тест можно сломаться точно так же и неважно статика у него в параметрах или что-то сгенерированное фейкером;
разве не так?