【发布时间】:2015-01-17 17:59:14
【问题描述】:
我是测试新手,在开始使用 TDD 时需要一些帮助。我有一个简单的应用程序,它需要一些 txt 文件并为不同的输出重新格式化它们。
这里是一个txt文件的例子
Smith | Steve | D | M | Red | 3-3-1985
Bonk | Radek | S | M | Green | 6-3-1978
Bouillon | Francis | G | M | Blue | 6-3-1975
这是我在 app.rb 中更改此文本文件输出的方法
def pipe
alpha = File.readlines('pipe.txt').sort
alpha.each {|line| line.gsub! '-', '/'}
alpha.each {|line| line.gsub! '|', ''}
alpha.each {|line| line.gsub! 'M', 'Male'}
end
def pipe_date
alpha = File.readlines('pipe.txt')
alpha.each {|line| line.gsub! '-', '/'}
alpha.each {|line| line.gsub! '|', ''}
alpha.each {|line| line.gsub! 'M', 'Male'}
alpha.sort_by { |str| Date.strptime(str[/\d+\/\d+\/\d+/], "%d/%m/%Y") }
end
def pipe_des
alpha = File.readlines('pipe.txt').sort { |a,b| b <=> a }
alpha.each {|line| line.gsub! '-', '/'}
alpha.each {|line| line.gsub! '|', ''}
alpha.each {|line| line.gsub! 'M', 'Male'}
end
看了一圈之后,我写了一个看起来像这样的test.rb文件,但是当我运行ruby test.rb时,我得到了这个错误
MiniTest::Unit::TestCase is now Minitest::Test. From /Users/pacloan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/test/unit/testcase.rb:8:in `<module:Unit>'
/Users/pacloan/.rbenv/versions/2.1.2/lib/ruby/2.1.0/test/unit.rb:676:in `<class:Runner>': undefined method `_run_suite' for class `Test::Unit::Runner' (NameError)
这是我的 test.rb 文件。我认为我的设置可能是错误的。有人可以提供一些关于我在做什么的见解吗?
require_relative "app"
require 'minitest'
require 'test/unit'
require 'minitest/autorun'
Minitest::Test
class TestApp < Test::Unit::TestCase
def test_read_files
#assert something
#expected output
end
end
【问题讨论】:
-
“它不起作用”是什么意思?你采取了什么行动?你期待什么结果?你观察到了什么结果?
-
我对其进行了编辑以显示我在做什么,我运行了 test.rb 并得到了一个错误,我对测试非常陌生,不知道如何真正开始并正确运行它们
-
你可以看看这个 - mattsears.com/articles/2011/12/10/minitest-quick-reference .. 这个教程会给你一个好的开始.. 为什么不是 Rspec?只是问它很容易使用.. AFAIK..
-
如果你愿意,你也可以看到this answer。你可以看到如何运行和编写它。
标签: ruby unit-testing testing tdd