Ich bin auf der Suche nach dem richtigen Weg, um die Präsenz eines Attributs in einer XML-oder JSON-Antwort zu überprüfen. Ich interessiere mich nicht, wenn der Wert null, leer oder ein anderer Wert in der Tat, meine Antwort 3 Zustände für dieses spezielle Attribut enthalten könnte:Wie kann ich mit RSpec nach dem Vorhandensein eines Attributs in XML/JSON suchen?
- Nicht anwesend bei allen
- Präsens aber Wert ist
nil
- Gegenwart und Wert ist ein
datetime
Also muss ich einen Weg, alle diese Staaten zur Vereinheitlichung und Vereinfachung (weil alle in diesem speziellen Test gültig sind) und fragen nur, wenn das Attribut (last_visit_at) ist Geschenk.
Die gleiche ich tun kann, zu testen, ob es null ist, oder nicht, dh mit JSON:
JSON.parse(response.body).first["last_visit_at"].should_not be_nil
JSON.parse(response.body).first["last_visit_at"].should be_nil
Dies funktioniert nicht, wenn der Wert gleich Null ist, offensichtlich (nil reagiert nicht auf entweder #exist oder? #exists):
JSON.parse(response.body).first["last_visit_at"].should exist
gibt es eine Möglichkeit, dies zu tun, und es könnte für beide, JSON und XML-Antworten gültig? Vielen Dank.
oder '... keys.should include ('last_visit_at')'. – Brandan
Kühl. Genau das habe ich gebraucht. Danke beiden! – Zheileman