5

私は明らかに何か間違ったことをしています。プレーンなルビーを単一のファイルに書き込んでテストしようとしています。ファイルとテスト ファイルを監視し、いずれかのファイルが変更されるたびに minitest を実行するガードが必要です。

したがって、2 つのファイル: game.rb と 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

次のような Guardfile もあります。

notification :terminal_notifier

guard 'minitest', test_folders: '.' do
  watch('game.rb')
  watch('game_test.rb')
end

今、私はおそらく何かを忘れていますが、それが何であるかを一生理解することはできません.

ガードを開始してEnterキーを押すと、「すべて実行」が発生し、テストが実行されます..少なくともほとんどの場合。ただし、それを行うには Enter キーを押す必要があります。

また、ファイルを変更しても何も起こりません。gem 'rb-fsevent' を Gemfile に入れ、「bundle exec guard」で実行しようとしましたが、どちらも役に立たないようです。

どんな助けでも大歓迎です。私は気が狂います。

ありがとう、ジェレミー

4

1 に答える 1

5

最初の「watch」定義は単に「game.rb」を渡しますが、これはテスト ファイルではないため、実行されません。2 番目の「watch」は正しいので、「game_test.rb」を保存すると、テストが実行されるはずです。

これはより正確な Guardfile である必要があります。

notification :terminal_notifier

guard 'minitest', test_folders: '.' do
  watch('game.rb') { 'game_test.rb' }
  watch('game_test.rb')
end
于 2012-10-19T19:50:10.233 に答える