2016-09-15 3 views
0

Ich habe einige Controller-Tests und ich möchte die Antwortwerte überprüfen. Ich bin nicht in der Lage JSON.parse(...["start_time"]) mit foo.start_time mit der folgenden Stack-Trace zu vergleichen:Wie json analysierte Zeit mit Ruby Objekt Zeit zu vergleichen?

expected: 2016-09-17 10:50:00.000000000 +0000 
     got: "2016-09-17T10:50:00.000Z" 

ich ein paar Parsing-Techniken versucht, aber sie entweder unterschiedliche Formate zurückkehren oder nicht zurück genaue Werte. Gibt es eine einfache Möglichkeit, diese Werte im selben Format zu erhalten, um die Gleichheit zu vergleichen?

+0

Lesen Sie "[mcve]". Fügen Sie ein kleines JSON-Snippet hinzu, das die Zeichenfolge, die Sie analysieren, einschließlich des Datums, zusammen mit dem Code enthält, mit dem Sie die beiden Elemente vergleichen. –

Antwort

1

Sie versuchen, zwei verschiedene Datentypen zu vergleichen. Der analysierte JSON ist eine Zeichenfolge. Das foo.start_time-Attribut ist eine Ruby-Datetime.

Sie wie folgt:

(JSON.parse(...["start_time"])).to_datetime 

, die die Zeichenfolge in ein Datetime konvertieren, die dann zu foo.start_time verglichen werden können.