Yesod REST サービスの統合テストで、呼び出された API が返されます。
{
"userId": "xxx"
}
ここxxx
で、MongoDB ObjectID (12 バイトの 16 進数でエンコードされた文字列) です。
aesonを使用して、返された JSON が実際にこの形式であることを確認したいと思います。
JSONを正規の形式に変換する方法はありますか?
{
"userId": "-1"
}
フィールドの値がuserId
指定された正規表現と一致するか?
assertEquals
次に、応答 JSON (実際) を期待値に一致させるために使用できます。
Scala Lift JSON ライブラリでは、次のようなことができます。
val actual = json.transform {
case JField("userId", value)
if """[0-9a-f]{24}""".r.findFirstIn(value).isDefined =>
JField("userId", "-1")
}
aesonに似たようなものはありますか?