Question

In Ruby's Test::Unit, how do I get the current test_ method's name? In MiniTest, this can be done by self.__name__, however, it doesn't work for the full version.

Was it helpful?

Solution

I got it!

The test name gets passed up the inheritance chain, so I just needed to capture it and save it locally for my reference.

def initialize(name = nil)
    @test_name = name
    super(name) unless name.nil?
end

OTHER TIPS

for completeness with Test::Unit 2.x it's method_name see http://git.io/7yngvg

def setup
  puts self.method_name # will output e.g. "test_check_username"
end

yo can use method, like this example:

class MyTest
  def test_method_example
    __method__
  end
end

It includes a ":" char prefix to the method name

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top