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 的完整性,method_name请参见http://git.io/7yngvg

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 回答