1
나는 일련의 일련 번호를 가지고있다. 이제 테스트를 위해 JSON을 원래 객체로 되돌리고 싶습니다. ActiveModel :: Serializers로 그 일을 할 수있는 방법이 보이지 않습니다. 이전에는 더 이상 사용되지 않는 from_json 메소드가 사용 된 것처럼 보입니다. 이걸 어떻게해야 하죠?ActiveModel :: Serializer에서 json을 개체로 구문 분석하는 방법
기본적으로이 같은 라운드 트립 테스트하려면 : 제대로 그 때문에하지 예상되는 형식으로 시리얼에서 JSON을 읽지 않습니다
json = WidgetSerializer.new(@widget).to_json
testw = Widget.new
testw.from_json(json) #from_json doesn't exist in ActiveModel::Serializers
@widget.should == testw
그러나 모델의 "from_json"방법을
슬프게도 데이터베이스에서 개체를 얻을 것이고, 단위 테스트의 목적을 무효로 할 json이 아닙니다. (나는 단위 테스트에 대해 명시 적으로 말하지 않았지만 ".should =="는 힌트입니다.) – nont
물론 데이터베이스에서 가져옵니다. 그렇지 않으면 == 어떻게 될 수 있습니까? from_json 메소드가 똑같은 속성을 가진 새로운 위젯을 반환했다하더라도, "id"와 "created_at"값은 다를 것입니다. (당신이 단위 테스트를 요구한다는 것을 깨닫고 있지만, 당신이 테스트하고있는 것을 이해하지 못한다 - 당신은 Serializer에 모든 속성을 포함하는 것을 잊지 않았다.) – Matthieu
네, serializer가 작동하는지 테스트하고 싶습니다. 중첩 된 자식 객체가있는 복잡한 객체입니다. – nont