0

当我使用ActiveSupport::TestCase失败的测试时,会显示如下消息:

  2) Failure:
ArrayTest#test_example [/Users/ironsand/dev/my_project/test/core_ext/array_test.rb:6]:
--- expected
+++ actual
@@ -1 +1 @@
-#<BigDecimal:7fb947c749a0,'0.94E0',9(18)>
+#<BigDecimal:7fb947c7f5a8,'0.95E0',9(45)>

我想显示值0.94而不是<BigDecimal:7fb947c749a0,'0.94E0',9(18)>. 在 rails cosole 或pry我正在使用awesome_print的 .

有没有办法激活awesome_print测试结果?我不坚持使用awesome_print,如果有另一种方式来显示数字更具可读性,我会很乐意使用它。

4

1 回答 1

0

您可以在断言语句中添加一条消息

message = "Expected #{expected_number.to_f} but actual number is #{actual_number.to_f}"
assert_equal expected_number, actual_number, message

此外,您没有问这个问题,但如果您尝试比较两个十进制数字,您可能希望使用 assert_in_delta 来查看数字是否接近而不是精确。

于 2016-08-22T02:05:02.820 回答