2016-12-06 8 views
3

Есть ли способ отключить вычисление diff по ошибке eq matcher?rspec disable diff для неработающего eq

Мой код выглядит следующим образом

object1 = MyCustomObject.new(param1) 
object2 = MyCustomObject.new(param2) 
expect(object1).to eq(object2) 

Если что-то не так произошло, и эти объекты не равны

object1 == object2 # false 

RSpec пытается вычислить дифференциал, но мои объекты очень сложны, и эта причина памяти свиней на мой компьютер и Ubuntu просто зависают. На самом деле - мне не нужен этот diff, поэтому я просто хочу их отключить. Как это сделать?

ответ

0

Обнаружено обходное решение. rspec использует inspect методы пользовательских объектов для расчета списков различий. Так что я создаю insepct в объекте и выводят не все, что было автоматически создано ruby, но только то, что мне действительно нужно в этом diff - и оно работает.