Wyraźnie robię coś złego. Próbuję napisać i przetestować zwykły rubin w jednym pliku. Chcę pilnować pliku i pliku testowego i uruchamiać minitest za każdym razem, gdy zmieni się plik.Używanie wartownika-minitest na jednym pliku Ruby
więc dwa pliki: game.rb i game_test.rb
game.rb
class Game
end
game_test.rb
require 'rubygems'
require 'minitest/autorun'
require './game'
class GameTest < MiniTest::Unit::TestCase
def test_truth
assert true
end
end
Mam też Guardfile, który wygląda tak:
notification :terminal_notifier
guard 'minitest', test_folders: '.' do
watch('game.rb')
watch('game_test.rb')
end
Teraz jestem pewnie zapomniałem o czymś, ale nie mogę dla życia dowiedzieć się, co to jest.
Jeśli zacznę ochronę i naciśniesz klawisz Enter, nastąpi "Uruchom wszystko" i testy będą wykonywane ... przynajmniej przez większość czasu. Muszę jednak nacisnąć Enter, aby to się stało.
Ponadto, jeśli dokonam zmiany w plikach nic się nie dzieje. Próbowałem umieścić gem 'rb-fsevent' w Gemfile i uruchomić z "bundle exec guard", ale to też nie pomaga.
Każda pomoc będzie mile widziana. Oszalam.
Dzięki Jeremy
Tak, próbowałem tego i nie miał szczęścia. Jedyne, co mogłem zrobić, to obejrzenie ('game.rb') {'./game_test.rb'} z odpowiednim katalogiem. Naprawdę nie rozumiem, dlaczego. jakieś pomysły? –
Jeśli to jakieś pocieszenie, mam ten sam problem. Musiałem zrobić to samo dla obu plików (odpowiednik 'watch ('game.rb') {'./game_test.rb'}; watch ('game_test.rb') {'./game_test.rb')} '. –
To dziwne, nie wahaj się [zgłosić problem do minimum] (https://github.com/guard/guard-minitest/issues/new) (należy również uruchomić Guard w trybie debugowania, po prostu uruchom to z flagą '--debug'). Radzę ci także czerpać inspirację z szablonu [Guard-minitest Guardfile] (https://github.com/guard/guard-minitest/blob/master/lib/guard/minitest/templates/Guardfile#L3-L5) . – rymai