Ruby Minitest 基本介绍
Basic introduction to Ruby Minitest
我是第一次使用 minitest,我很难理解如何编写我的第一个测试方法。谁能帮助我理解我应该在下面的 Player 方法中测试什么 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
这是我的测试文件中的内容,我想我只是想测试正则表达式以确保它包含字母和数字字符。
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
但是当我 运行 测试时,似乎什么也没有发生,我想我应该有 1 个断言。
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
任何人都可以帮助演示我应该如何为这种情况编写测试吗?谢谢。
Minitest 测试可以描述如下(Assertion 语法):
- 它只是一个简单的 Ruby 文件,其中有一个 class 通常是
Minitest::Test
的子 class。
- 方法
setup
将首先被调用;您可以定义每个测试中可能需要的对象。例如:考虑在 setup
方法中的实例变量中分配 Player
对象的实例,以便您可以在测试的其他地方使用它 class.
- 在以字符串开头的方法中定义了一个测试:
test_
;可以使用任何其他方法来减少代码重复,但它不会被视为测试的一部分。
- 通常您应该考虑测试您要测试的方法的return值。
- 使用外部输入测试方法是 more convoluted,我建议从具有可测试输出的测试方法开始。
我是第一次使用 minitest,我很难理解如何编写我的第一个测试方法。谁能帮助我理解我应该在下面的 Player 方法中测试什么 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
这是我的测试文件中的内容,我想我只是想测试正则表达式以确保它包含字母和数字字符。
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
但是当我 运行 测试时,似乎什么也没有发生,我想我应该有 1 个断言。
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
任何人都可以帮助演示我应该如何为这种情况编写测试吗?谢谢。
Minitest 测试可以描述如下(Assertion 语法):
- 它只是一个简单的 Ruby 文件,其中有一个 class 通常是
Minitest::Test
的子 class。 - 方法
setup
将首先被调用;您可以定义每个测试中可能需要的对象。例如:考虑在setup
方法中的实例变量中分配Player
对象的实例,以便您可以在测试的其他地方使用它 class. - 在以字符串开头的方法中定义了一个测试:
test_
;可以使用任何其他方法来减少代码重复,但它不会被视为测试的一部分。 - 通常您应该考虑测试您要测试的方法的return值。
- 使用外部输入测试方法是 more convoluted,我建议从具有可测试输出的测试方法开始。