gpt4 book ai didi

ruby - 在 ruby​​ 中,您可以在 irb 中执行 assert_equal 和其他断言吗?

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:56 32 4
gpt4 key购买 nike

你能在 irb 中执行 assert_equal 吗?这是行不通的。

require 'test/unit'
assert_equal(5,5)

最佳答案

当然可以!

require 'test/unit'
extend Test::Unit::Assertions
assert_equal 5, 5 # <= nil
assert_equal 5, 6 # <= raises AssertionFailedError

发生的事情是所有断言都是 Test::Unit::Assertions 模块中的方法。从 irb 内部扩展该模块使这些方法可用作 main 上的类方法,这使您可以直接从 irb 提示符中调用它们。 (实际上,在任何上下文中调用 extend SomeModule 都会将方法放在该模块中的某个地方,您可以从相同的上下文中调用它们 - main 恰好是您默认所在的位置.)

此外,由于断言被设计为在 TestCase 中运行,因此语义可能与预期略有不同:它不返回 true 或 false,而是返回 nil 或引发错误。

关于ruby - 在 ruby​​ 中,您可以在 irb 中执行 assert_equal 和其他断言吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3850234/

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