2016-03-20 4 views
1

(サードパーティ製のオプションを含む)チャイでこれを行う方法があるかどうか、私は疑問に思う:.to.have.property( 'method'、<any function>)のためのチャーアサーション。

expect(obj).to.have.property('method', <any function>); 
expect(obj).to.have.property('prop', <any object>); 

ジャスミンは、箱から出して、正確にこれらのmatcherを提供していませんが、それはサードで行うことができますパーティーJasmine matchers。私が代わりに

expect(obj).to.have.property('method'); 
expect(obj.method).to.be.a('function'); 
+0

同じ問題...私はAを呼び出したいです私が比較したい値を返す関数。 – Alfeu

+0

明確にする:オブジェクトを第2引数として指定し、指定されたプロパティ値がそのオブジェクトと深くマッチするかどうかを一致させたいでしょうか? – MarcoL

+0

@MarcoL私はチャイのそれと比較されるすべてのオブジェクトにマッチする 'jasmine.any(Object)'のようなものについて考えていました。したがって、オブジェクトであれば 'obj.prop'を渡し、そうでなければ' fail'で失敗します。 – estus

答えて

0

に障害が発生した場合の貴重なフィードバックを与えることができますワンライナーを好むだろう

あなたはこのようにそれをテストすることができます。ここ

var obj = { 
    aFunction: function() { }, aProperty: '' 
}; 
expect(typeof obj.aFunction).to.be.equals('function'); 
expect(obj.aProperty).to.exist; 
関連する問題