Ruby:已弃用:如果期望为零,则使用 assert_nil。这将在 Minitest 6 中失败
Ruby: DEPRECATED: Use assert_nil if expecting nil. This will fail in Minitest 6
我正在尝试 运行 在 Ruby.[=16= 中使用 Minitest 一些测试用例]
这是我正在测试的 class**:
# square_root.rb
class SquareRoot
def square_root(value)
return nil if value < 0
Math.sqrt(value).round
end
end
这是我的测试用例:
# square_root_test.rb
require 'minitest/autorun'
class SquareRootTest <Minitest::Test
def test_that_square_root_of_9_is_3
assert_equal 3, square_root(9)
end
def test_that_square_root_of_17_is_4
assert_equal 4, square_root(17)
end
def test_that_square_root_of_24_is_5
assert_equal 5, square_root(24)
end
def test_that_square_root_of_negative_number_is_nil
assert_equal nil, square_root(-1)
end
end
但是当我运行下面的命令运行测试时:
ruby square_root_test.rb
我收到以下弃用警告:
Run options: --seed 50741
# Running:
DEPRECATED: Use assert_nil if expecting nil from square_root_test.rb:26. This will
fail in Minitest 6.
....
Finished in 0.000839s, 4769.9228 runs/s, 4769.9228 assertions/s.
4 runs, 4 assertions, 0 failures, 0 errors, 0 skips
这是我修复它的方法:
根据弃用警告的消息,我简单地替换了断言:
assert_equal nil, square_root(-1)
和
assert_nil square_root(-1)
或
assert_nil(square_root(-1))
所以我的测试文件之后看起来像这样:
# square_root_test.rb
require 'minitest/autorun'
class SquareRootTest <Minitest::Test
def test_that_square_root_of_9_is_3
assert_equal 3, square_root(9)
end
def test_that_square_root_of_17_is_4
assert_equal 4, square_root(17)
end
def test_that_square_root_of_24_is_5
assert_equal 5, square_root(24)
end
def test_that_square_root_of_negative_number_is_nil
assert_nil square_root(-1)
end
end
注意: 逗号 ,
标点符号也被删除了。
就这些了。
希望对您有所帮助
我正在尝试 运行 在 Ruby.[=16= 中使用 Minitest 一些测试用例]
这是我正在测试的 class**:
# square_root.rb
class SquareRoot
def square_root(value)
return nil if value < 0
Math.sqrt(value).round
end
end
这是我的测试用例:
# square_root_test.rb
require 'minitest/autorun'
class SquareRootTest <Minitest::Test
def test_that_square_root_of_9_is_3
assert_equal 3, square_root(9)
end
def test_that_square_root_of_17_is_4
assert_equal 4, square_root(17)
end
def test_that_square_root_of_24_is_5
assert_equal 5, square_root(24)
end
def test_that_square_root_of_negative_number_is_nil
assert_equal nil, square_root(-1)
end
end
但是当我运行下面的命令运行测试时:
ruby square_root_test.rb
我收到以下弃用警告:
Run options: --seed 50741
# Running:
DEPRECATED: Use assert_nil if expecting nil from square_root_test.rb:26. This will
fail in Minitest 6.
....
Finished in 0.000839s, 4769.9228 runs/s, 4769.9228 assertions/s.
4 runs, 4 assertions, 0 failures, 0 errors, 0 skips
这是我修复它的方法:
根据弃用警告的消息,我简单地替换了断言:
assert_equal nil, square_root(-1)
和
assert_nil square_root(-1)
或
assert_nil(square_root(-1))
所以我的测试文件之后看起来像这样:
# square_root_test.rb
require 'minitest/autorun'
class SquareRootTest <Minitest::Test
def test_that_square_root_of_9_is_3
assert_equal 3, square_root(9)
end
def test_that_square_root_of_17_is_4
assert_equal 4, square_root(17)
end
def test_that_square_root_of_24_is_5
assert_equal 5, square_root(24)
end
def test_that_square_root_of_negative_number_is_nil
assert_nil square_root(-1)
end
end
注意: 逗号 ,
标点符号也被删除了。
就这些了。
希望对您有所帮助