Java алтернатива за VCR на Ruby?

Има ли алтернатива на Java за VCR на Ruby?

Доколкото разбирам, ползите от използването на VCR са огромни, можете да стартирате "интеграционен тест" и да запишете резултатите, да ги съхранявате някъде локално. Сега от следващия път, когато трябва да стартирате вашите тестове, можете да макетирате вашите действителни посещения в базата данни с данните, записани от първото изпълнение.

  1. Има ли нещо подобно в света на Java?
  2. Ако не, с какви пречки мога да се сблъскам, ако се опитам да го внедря?

Видеорекордерът записва само HTTP взаимодействия, но може ли да се направи такъв подход, за да се запишат, да речем, всякакъв вид операции с база данни/извиквания на функции към API на друг екип, които не е необходимо да тествам, по същество това ще ме освободи от подигравка с толкова много неща чрез автоматизирането му.

Ето пример за видеорекордер с Единични тестове на Ruby:


person zengr    schedule 16.10.2011    source източник
comment
Ако искате повтарящи се тестове, които записват в база данни, вижте dbunit.   -  person Matt Ball    schedule 16.10.2011


Отговори (2)


Вижте betamax. Това е страхотен порт на VCR. Вярвам, че трябва да работи на JVM с всеки език.

Що се отнася до използването на библиотека, подобна на VCR, за запис/възпроизвеждане на DB взаимодействия: Sven Fuchs опита този подход и не видях голяма полза от него.

person Myron Marston    schedule 16.10.2011
comment
Благодаря за отговора, в случай на Sven Fuchs времето за стартиране на базата данни може да е много малко, тъй като той използва обикновен rails проект. Но в моя случай, ако се опитам да заобиколя базата данни (в java), ще получа печалба от 10 минути начално време! Мисля да се опитам да напиша java порт някой път и да видя как работи при мен. Записването на HTTP взаимодействие не е моя грижа за съжаление. - person zengr; 16.10.2011
comment
betamax връзката е мъртва, актуализирана връзка към github --› github.com/betamaxteam/betamax - person Mike R; 08.07.2016
comment
betamax вече не се поддържа. Не бих препоръчал да разчитате на библиотека, която не се поддържа - person cohen990; 30.04.2018

Вижте anystub. това е java-lib. позволява запис/възпроизвеждане на всякакви String get(String... keys) извиквания вместо само HTTP трафик.

person feech    schedule 04.09.2016