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 то тесты фейлятся. Надо ли было еще его указывать?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Smart Медицина Москва
от 150 000 ₽
Spice IT Recruitment Москва
До 230 000 ₽
Playkot Санкт-Петербург
от 150 000 до 200 000 ₽