Twitt
@Twitt

По правильному ли я сделал unit test для удаления записи?

есть метод deleteAll, который вызывает delete метод, который просто лезет в базу и удаляет данные. delete() в случае успешного удаления должен возвращать 0. Так как я не хочу, чтобы при запуске юнит тестов данные действительно удалялись, я сделал такой подход:
public function testDeleteAll(array $list, $expected)
    {
        $modelMock = $this->getMockBuilder(Model::class)->setMethods(['delete'])->getMockForAbstractClass();
        $modelMock->method('delete')->willReturn(0);
        $this->assertEquals($expected, $modelMock->deleteAll($list));
    }

Правильно ли я сделал? Тесты проходят, но я не уверен, что оно работает правильно. Или нужно было поступить как то иначе? Просто, если я указываю в setMethods еще deleteAll то тесты фейлятся. Надо ли было еще его указывать?
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽