Próbuję skonfigurować autotest, aby po uruchomieniu zestawu testowego i testach, które uległy awarii, autotest przestał testować i czekał, aż wprowadzę zmiany przed ponownym testowaniem. Z moją obecną autotestem konfiguracji testowanie odbywa się w sposób nieokreślony, gdy napotyka na test niesprawności, co sprawia, że jest to kłopotliwy problem (konieczność przechodzenia do terminala i zatrzymywania serwera autotestu za każdym razem, gdy otrzymuję test awarii).Zentest - Jak zatrzymać automatyczne testowanie, gdy czerwony
Pracuję nad aplikacją szyn za pomocą RSpec, Zentest i Spork.
odpowiednie wersje Gem:
autotest (4.4.6)
rspec (2.6.0)
rspec-core (2.6.4)
rspec-expectations (2.6.0)
rspec-mocks (2.6.0)
rspec-rails (2.6.1)
spork (0.9.0.rc8)
ZenTest (4.5.0)
Moja .autotest file:
module Autotest::Notify
def self.notify title, msg, img, pri='low', time=3000
`notify-send -i #{img} -u #{pri} -t #{time} '#{msg}'`
end
Autotest.add_hook :ran_command do |autotest|
results = [autotest.results].flatten.join("\n")
output = results.slice(/(\d+)\s+examples?,\s*(\d+)\s+failures?(,\s*(\d+)\s+pending)?/)
folder = "~/.autotest_icons/"
if output =~ /[1-9]\d*\sfailures?/
notify "FAIL:", "#{output}", folder+"failed.png", 'critical', 10000
elsif output =~ /[1-9]\d*\spending?/
notify "PENDING:", "#{output}", folder+"pending.png", 'normal', 10000
else
notify "PASS:", "#{output}", folder+"passed.png"
end
end
end
Uwaga: Większość moich .autotest pliku było dostać wyskakujące okienka działa w Linuksie, aby wyświetlić jeśli moje testy przechodzą lub w braku.
Poszukiwałem odpowiedzi na ten problem przez jakiś czas i nie miałem szczęścia i bardzo ciężko było mi zdobyć dobrą dokumentację do autotestu. Wpatrywałem się w RDoc dla Zentest od dłuższego czasu i muszę po prostu czegoś przegapić.
Każda pomoc, linki do przykładów itp. Byłyby mile widziane.
Zastanawiam się, czy plik '.autotest' robi coś, co powoduje, że autotest jest rekurencyjny. Próbowałbym usunąć możliwe przyczyny po jednym na raz. Na przykład usuń 'spork' z miksu, uruchom autotest ze znanym błędem i sprawdź, czy działa dalej. Jeśli tak, przenieś tymczasowo plik '.autotest', działający efektywnie bez pliku' .autotest' i spróbuj ponownie. Ilekroć wpadam w nieoczywisty problem, próbuję przejść łańcuch logiczny i wprowadzać niewielkie zmiany, dopóki nie będę w stanie wyizolować problemu. – Midwire
PS: Autotest nie powinien prowadzić testów po zmianie kodu. Powinien uruchomić testy, których dotyczy problem, złożyć wyniki (zielony lub czerwony), a następnie zatrzymać i poczekać na kolejne zmiany. Coś w twojej konfiguracji powoduje tę anomalię. – Midwire
Dzięki za odpowiedź. Szczerze mówiąc problem wydaje się dość przypadkowy. Już od jakiegoś czasu korzystam z tej samej konfiguracji, a autotest ponownie uruchomi testy tylko raz na jakiś czas (może 1/10 razy). Naprawdę nie mogę znaleźć związku między testami, które prowadzę, a dziwnym autotestem, ale będę próbować dalej. Dzięki za twoją radę i jeśli dostanę ostateczną odpowiedź, to ją opublikuję. Moim głównym problemem jest to, że za każdym razem, gdy myślę, że to naprawiłem, kończy się to samo, ale rzadziej. –