Ruby:如何使用 assert_nothing_raised?

标签 ruby unit-testing testunit

 assert_nothing_raised do
   @board.make_move(0,0,Board::HUMAN)
 end

文档说:

Passes if block does not throw anything.

Example:

 assert_nothing_thrown do
   [1, 2].uniq
 end

我的 make_move 方法:

def make_move(x, y, player)
    return false
 end

我得到错误:

test_can_make_valid_move_in_the_first_row(BoardTest):
ArgumentError: wrong number of arguments (1 for 2)

最佳答案

以下代码适用于我。它对你有用吗?

require 'test/unit'
require 'test/unit/ui/console/testrunner'

class MyTestClass < Test::Unit::TestCase
  def test_something
    assert_nothing_raised do
      p 'hi'
    end
  end
end

Test::Unit::UI::Console::TestRunner.run(MyTestClass)

我认为您正确使用了 assert_nothing_raised。尝试替换

@board.make_move(0,0,Board::HUMAN)

用更简单的东西,比如

p 'hi'

看看是否可行。还可以尝试注释掉测试中的所有其他代码。

关于Ruby:如何使用 assert_nothing_raised?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843858/

相关文章:

c++ - 如何在 gtest 中测试 setter 方法?

ruby - 在 Ruby 中,什么是带有 rand 的 .map 方法?

ruby-on-rails - 在 Rails 4 中的实时服务器上安装私有(private)酒吧时出错

unit-testing - 测试VSTO应用程序?

ruby-on-rails - 在 Rails/Padrino 控制台运行测试用例

Ruby Test :Unit, 如何知道测试套件中每个测试用例的失败/通过状态?

ruby-on-rails - 模拟外部 API

ruby - 如何从 Twitter Gem Twitter 对象返回完整的推文 JSON

ruby - 我需要将一个巨大的 csv 文件中的 3 列复制到一个新的 csv 文件中。怎么做?

java - 用 jmockit 替换继承的 final方法