我第一次使用的是最小的测试方法,我很难理解如何编写我的第一个测试方法。有人能帮助我理解在下面的播放器方法get_name中我应该测试什么吗?
class Player
def get_name(player)
puts `clear`
center("#{player}, whats your name bro/ladybro?")
@name = gets.chomp
until @name =~ /\A[[:alnum:]]+\z/
center("you can do a combination of alphanumeric characters")
@name = gets.chomp
end
end
end这就是我的测试文件中的内容,我想我应该测试regex,以确保它使用alpha和数字字符。
class TestPlayer < Minitest::Test
def test_get_name
describe "get_name" do
it "should allow an input of alphanumeric characters" do
assert_match(/\A[[:alnum:]]+\z/, "test_string123")
end
end
end
end但是当我运行测试时,似乎什么都没有发生,我想我应该有一个断言。
Run options: --seed 10135
# Running:
.
Finished in 0.001565s, 638.9776 runs/s, 0.0000 assertions/s.
1 runs, 0 assertions, 0 failures, 0 errors, 0 skips有人能帮助演示我应该如何为这个场景编写测试吗?谢谢。
发布于 2015-01-19 17:19:57
最小测试可以描述如下(断言语法):
Minitest::Test的子类。setup将首先被调用;您可以定义在每个测试中可能需要的对象。考虑在这里在Player方法中的实例变量中分配一个setup对象的实例,这样您就可以在测试类的其他地方使用它。test_;任何其他方法都可以用来减少代码的重复,但它不会被视为测试的一部分。https://stackoverflow.com/questions/28026749
复制相似问题