1

RubyのTest::Unitで、現在のtest_メソッドの名前を取得するにはどうすればよいですか?MiniTestでは、これはで実行できますがself.__name__、フルバージョンでは機能しません。

4

3 に答える 3

5

わかった!

テスト名は継承チェーンに渡されるので、テスト名をキャプチャして、参照用にローカルに保存する必要がありました。

def initialize(name = nil)
    @test_name = name
    super(name) unless name.nil?
end
于 2013-02-01T19:53:11.630 に答える
5

Test :: Unit 2.xの完全性については、http: //git.io/7yngvgmethod_nameを参照してください。

def setup
  puts self.method_name # will output e.g. "test_check_username"
end
于 2014-02-15T21:34:59.660 に答える
-1

次の例のように、メソッドを使用できます。

class MyTest
  def test_method_example
    __method__
  end
end

メソッド名の前に「:」文字が含まれます

于 2013-01-31T22:52:59.973 に答える