2016-08-21 2 views
0

Когда я использую ActiveSupport::TestCase тесты, неудачные показывает сообщение, как это:Как показать номер BigDecimal в качестве человеческого читаемым при использовании 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 coole или в pry Я использую awesome_print.

Есть ли способ активировать awesome_print для результата теста? Я не настаиваю на использовании awesome_print, если есть другой способ показать число, более читаемое, я с удовольствием его использую.

ответ

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 видеть, что цифры близки, а не точны.

Смежные вопросы