Альтернатива Java для видеомагнитофона Ruby?

Есть ли альтернатива Java для видеомагнитофона Ruby?

Насколько я понимаю, преимущества использования видеомагнитофона огромны, вы можете запустить «интеграционный тест» и записать результаты, сохранить их где-то локально. Теперь в следующий раз, когда вам нужно будет запустить тесты, вы можете смоделировать фактические обращения к базе данных с данными, записанными при первом запуске.

  1. Есть ли что-то подобное в мире Java?
  2. Если нет, то с какими узкими местами я могу столкнуться, если попытаюсь реализовать его?

VCR записывает только HTTP-взаимодействия, но можно ли использовать такой подход для записи, скажем, любых операций с базой данных/вызовов функций к API другой команды, которые мне не нужно тестировать, в основном это избавит меня от макетирования так много вещей его автоматизация.

здесь приведен пример VCR с Модульные тесты Ruby:


person zengr    schedule 16.10.2011    source источник
comment
Если вам нужны повторяющиеся тесты с записью в базу данных, проверьте dbunit.   -  person Matt Ball    schedule 16.10.2011


Ответы (2)


Проверьте betamax. Это отличный порт видеомагнитофона. Я считаю, что он должен работать на JVM с любым языком.

Что касается использования библиотеки, похожей на видеомагнитофон, для записи/воспроизведения взаимодействий с БД: Свен Фукс попробовал этот подход и не увидел в этом особой пользы.

person Myron Marston    schedule 16.10.2011
comment
Спасибо за ответ, в случае Свена Фукса время инициализации базы данных может быть очень низким, поскольку он использовал обычный проект рельсов. Но в моем случае, если я попытаюсь обойти базу данных (в java), я получу выигрыш в 10 минут времени инициализации! Я думаю, что когда-нибудь попробую написать java-порт и посмотреть, как это работает для меня. Запись HTTP-взаимодействия, к сожалению, не моя забота. - person zengr; 16.10.2011
comment
Ссылка на betamax не работает, обновлена ​​ссылка на github --› github.com/betamaxteam/betamax - person Mike R; 08.07.2016
comment
бетамакс больше не поддерживается. Я бы не рекомендовал полагаться на библиотеку, которая не поддерживается - person cohen990; 30.04.2018

Ознакомьтесь с любой заглушкой. это джава-либ. он позволяет записывать/воспроизводить любые String get(String... keys) вызовы, а не только HTTP-трафик.

person feech    schedule 04.09.2016