Как разграничить unit-тесты и acceptance-тесты?

Тесты на интернет-магазин. Есть одна тестовая БД и одна БД для разработки. В тестовой БД добавлены всего два тестовых товара.
Юнит тесты проходят отлично. Пишу acceptance тесты с использованием selenium. Сайт открывается в firefox, перехожу в список товаров. Товары показываются из БД для разработки (не из тестовой БД). Кладу один товар в корзину и сохраняю заказ. При этом в БД для тестов создается заказ с ID товара, которого нет в тестовой БД, так как он взялся из БД для разработки. И при попытке в тесте получить названия товаров в созданном заказе получаю исключение try to get property on none object.
Как поступать в таких ситуациях?
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ответы на вопрос 2
urtow
@urtow
*nix, python, QA, bagpipe, folk music
Сделать два разных окружения - для Unit и для acceptance тестов.

Самое простое - две раздельные виртуальные машины. Если сложнее - брать тот же Docker
Ответ написан
Комментировать
lxsmkv
@lxsmkv
Test automation engineer
приемочное тестиование в принципе не должно сравнивать идентификаторы иначе это уже не черный ящик. Я бы сохранил текстовое наименование товара до добавления в корзину и сравнил с наименованием после добавления в корзину. Ведь номерной идентификатор товара не имеет для пользователся никакого практического значения. Ошибкой с точки зрения клиента будет, если он добавит помидоры, а в корзине окажутся арбузы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы