2016-10-20 5 views
0

Chai Thingsを使用して、REST応答をテストし、正しいオブジェクトをテストしようとしています。オブジェクトには配列が含まれており、ここでは問題に取り組んでいます。Chai Test Complexオブジェクト

例:

{ 
    data:[ 
    { 
    bookTitle:"Lord of the Rings", 
    author: "J.R.R. Tolkien", 
    tags: ["fiction", "fantasy", "classic"] 
    } 
    ] 
} 

Iは、次のバリエーションを試みた:

res.body.data.should.contain.a.thing.with.property('tags', ["fiction", "fantasy", "classic"])。

しかし、私はこのエラーを取得しています:

Uncaught AssertionError: expected an element of [ Array(1) ] to have a property 'tags' of ["fiction", "fantasy", "classic"], but got ["fiction", "fantasy", "classic"] 
+0

「should.all.contain'を試してください。 https://github.com/chaijs/chai-things#all – Tomalak

+1

これは機能しません: 'res.body.data.should.all.contain.a.thing.with.property( 'tags'、[" fiction " 、 "ファンタジー"、 "クラシック")); ' –

答えて

0

だからこれを見ている中で、私は私のアプローチが間違っていたと思います。私はボディにオブジェクトの配列が含まれていると主張します。その後、そのオブジェクトにアクセスし、その方法を確認します。私も.property()の間違った理解を持っていた、返された値は、プロパティの値ではなくオブジェクトでした。