Тесты на интернет-магазин. Есть одна тестовая БД и одна БД для разработки. В тестовой БД добавлены всего два тестовых товара.
Юнит тесты проходят отлично. Пишу acceptance тесты с использованием selenium. Сайт открывается в firefox, перехожу в список товаров. Товары показываются из БД для разработки (не из тестовой БД). Кладу один товар в корзину и сохраняю заказ. При этом в БД для тестов создается заказ с ID товара, которого нет в тестовой БД, так как он взялся из БД для разработки. И при попытке в тесте получить названия товаров в созданном заказе получаю исключение try to get property on none object.
Как поступать в таких ситуациях?
приемочное тестиование в принципе не должно сравнивать идентификаторы иначе это уже не черный ящик. Я бы сохранил текстовое наименование товара до добавления в корзину и сравнил с наименованием после добавления в корзину. Ведь номерной идентификатор товара не имеет для пользователся никакого практического значения. Ошибкой с точки зрения клиента будет, если он добавит помидоры, а в корзине окажутся арбузы.