我有这个单元测试文件:
class WebsiteCheckPageElements < Test::Unit::TestCase
def setup
...
end
def test_achievements_iknow_report_page
...
end
def test_achievements_daily_report_page
...
end
def test_client_side_report_page
...
end
end
我需要编写一个ruby脚本,将测试的名称写入.txt文件。就像是
设置
test_achievements_iknow_report_page
test_achievements_daily_report_page
test_client_side_report_page
提前感谢您的建议。
答案 0 :(得分:3)
比其他答案更有力的方式:
File.open("test_methods.txt", "w") do |f|
WebsiteCheckPageElements.instance_methods.each do |method|
f << "#{method}\n"
end
end
这实际上将使用Ruby运行时,并且不会在未定义方法的位置(例如在String内)意外匹配def
,它将与文件中的其他类不匹配它将正确读取继承层次结构。
答案 1 :(得分:2)
您可以使用一个简单的脚本,使用正则表达式打印与def
匹配的行:
<强> match_test_methods.rb
强>
File.open('your_unit_test_file.rb').each_line do |line|
match = line.match(/def (.+)/)
puts match[1] if match
end
然后将脚本的结果放在.txt文件中
ruby match_test_methods.rb > test_methods.txt