3

私がこのようなテストをしていると想像してください:

class MyUnitTest < Test::Unit::TestCase
  def test_first
    # test code here
  end

  def test_second
    # test code here
  end

  def test_third
    # test code here
  end
end

私のテストケースは破壊的であり、テストの合間に入力を再生成する必要があります。したがって、一度に1つのテストケースのみを実行すると便利です。現在、私のアプローチは、実行したくないテストにコメントすることですが、確かにもっと良い方法があるはずですか?

たとえば、test_firstテストを実行するときにのみ実行するにはどうすればよいですか?

4

2 に答える 2

3

実行するテスト名を除外するには、引数を使用--name PATTERNします。

D:\Projects>ruby test.rb
Loaded suite test
Started
...
Finished in 0.000000 seconds.

3 tests, 0 assertions, 0 failures, 0 errors, 0 skips

Test run options: --seed 39768

D:\Projects>ruby test.rb -n test_first
Loaded suite test
Started
.
Finished in 0.000000 seconds.

1 tests, 0 assertions, 0 failures, 0 errors, 0 skips

Test run options: --seed 53891 --name "test_first"
于 2011-08-08T10:31:30.820 に答える
2

ルビーで入力を再生成できますか?次に、setup-methodを使用できます。

gem 'test-unit', '>= 2.1.1' #startup
require 'test/unit'

class Test_setup < Test::Unit::TestCase
  def setup
    #Your regeneration of the input
    puts "Setup"
  end

  def teardown
    #Clean actions
    puts "End"
  end

  def test_1()
    puts "Testing setup 1"
  end      
end
于 2011-08-08T13:30:00.643 に答える