2013-03-29 2 views
3

큰 십진수 to_s은 과학 표기법으로 인쇄합니다.BigDecimal의 rspec 에러에 대한 오버라이드가 가능합니까?

rspec은 오류 메시지에 to_을 사용합니다.

더 일반적인 형식을 사용하여 BigDecimal에 대한 오류를 인쇄 할 수 있도록 rspec을 어떻게 원숭이 패치 할 수 있습니까? Override BigDecimal to_s default in Ruby

하지만 재정의 BigDecimal.to_s를 전역하고 싶지 않은 :

이이 질문에 관한 것이다.

답변

2

이것은 작동합니다. 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