Big Decimal 的 to_s
打印为科学记数法。
rspec 使用 to_
作为错误消息。
如何对 rspec 进行猴子修补,以便它使用更传统的格式打印 BigDecimal 的错误?
这与这个问题有关:Override BigDecimal to_s default in Ruby
但我不想全局覆盖 BigDecimal.to_s
。
最佳答案
这行得通。在 rspec/support/big_decimal_inspect.rb 中创建文件
# Monkey patch BigDecimal#inspect
# Otherwises test errors print like:
# expected: #<BigDecimal:108482700,'0.11E3',9(27)>
# got: #<BigDecimal:108468080,'0.12E3',9(27)>
# After get:
# expected: 110.0
# got: 120.0
class BigDecimal
def inspect
to_s
end
end
关于ruby - BigDecimal 上的 rspec 错误是否有覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15694449/