gpt4 book ai didi

ruby - 获取ruby单元测试断言错误的 'backtrace'

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:41 30 4
gpt4 key购买 nike

在创建用于单元测试的辅助方法时,失败的控制台输出仅指示实际发生断言的行。

# Just an example method.
def test_equal(a, b)
assert_equal a, b # Error indicates this line
end

test_equal(1, 2) # I'd like to know this line
test_equal(2, 3)

有没有办法显示类似“回溯”的东西或为这些断言错误提供更多上下文?

最佳答案

我进一步分析了这个问题,偶然发现了minitest的方法Assertion.location .在那里,它通过回溯(失败的断言导致类型为 Minitest::Assertion < Exception 的异常),反转它并查找以以下关键字之一开头的方法:

  • assert
  • refute
  • flunk
  • pass
  • fail
  • raise
  • must
  • wont

因此,原始问题中的示例应如下所示:

# Just an example method.
def assert_my_equal(a, b)
assert_equal a, b # Error indicates this line
end

assert_my_equal(1, 2) # This is the line number indicated in the failure report
assert_my_equal(2, 3)

这也解释了为什么特定于 Rails 的断言方法行为正确:它们以 assert_ 开头.

关于ruby - 获取ruby单元测试断言错误的 'backtrace',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741261/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com