2017-01-25 33 views
7

Tak się złożyło, że muszę przeprowadzić test jednostkowy tego Ruby script. Jest to aplikacja internetowa korzystająca z kilku klejnotów, o nazwie Sinatra.Czy możesz użyć klejnotów, kiedy wykonasz skrypt Ruby we wbudowanym JRuby?

Mam więcej doświadczenia w Javie niż w Ruby, czas jest bardzo ważny (i elegancja nie jest), więc pomyślałem, że mogę być szybszy, jeśli wykonam ten skrypt w klasie JUnit i wyśmieję wszystkie podsystemy to zależy on (serwer sieciowy, baza danych). W ten sposób mógłbym wykorzystać moje umiejętności Java do przetestowania systemu Ruby. To jak looks można osadzić Ruby w programie Java.

Pytanie: Czy mogę używać klejnotów we wbudowanym Ruby, i. mi. utworzyć program Java, który mógłby wykonać testy na komputerze dowolnej maszynie (Windows, Linux, Mac) i nie wymagałby ręcznego instalowania kilku klejnotów? Jeśli tak, w jaki sposób?

Uwaga: Muszą być prawdziwymi klejnotami, drobne są drobne.

aktualizacji 1 (25.01.2017 13:14) Oczywistym rozwiązaniem jest wydzielenie logikę tego scenariusza w oddzielnym pliku Ruby bez zależności. Prawdopodobnie będzie to 80% kodu. Wtedy mógłbym przetestować ten plik logiczny nawet bez klejnotów.

Odpowiedz

2

Zakładam, że używasz JRuby. Sprawdź this i this na zewnątrz. Dzięki temu możesz zrobić coś odwrotnego i użyć Junit z samego Jruby'ego.