2017-05-23 2 views
0

これは非常に基本的な問題ですが、同時に複数の投稿には解決策がありません。 2つのオブジェクトがまったく同じかどうかをチェックする方法。 私が試したこと:それはオブジェクトが等しいかどうかをテストする方法を、非常に寛大であるしかしジャスミン2つのオブジェクトがまったく同じかどうかをチェックする方法は?

let objectToCopy = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}; 
let copy = {};   
Helper.deepCopy(copy, objectToCopy, true, null); 
expect(objectToCopy).toEqual(jasmine.objectContaining(copy));//it passes even if copy does contain only some of the objectToCopy fields 

が、それはすべてのプロパティが同じであることを意味?もちろん

は、私が試した:

expect(objectToCopy).toEqual(copy); 

はそれがコンパイルされません:

enter image description here

答えて

1

objectContaining()が完全一致のためではなく、非対称的なものには使用されません。

は単純に使用します。expect(objectToCopy).toEqual(copy)

+0

これは私が試した最初のことであり、コンパイルされません。 – Yoda

1

をだから、解決策は以下のとおりです。

expect(copy).toEqual(objectToCopy);

または

expect<any>(objectToCopy).toEqual(copy);

活字体が持つメソッドをパラメータ化したため、元の方法は動作しませんでした指定された引数の型。

関連する問題