2012-10-13 11 views
5

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

Odpowiedz

5

Twoja pierwsza „watch” definicja będzie po prostu przejść „game.rb”, który nie jest plik testowy, więc nie będzie działać. Drugi "zegarek" jest poprawny, więc po zapisaniu "game_test.rb", testy powinny zostać uruchomione.

ten powinien być bardziej poprawne Guardfile:

notification :terminal_notifier 

guard 'minitest', test_folders: '.' do 
    watch('game.rb') { 'game_test.rb' } 
    watch('game_test.rb') 
end 
+2

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? –

+1

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')} '. –

+0

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

Powiązane problemy