Jasmine,测试Javascript对象是否包含另一个Javascript对象

时间:2014-08-18 12:20:14

标签: javascript unit-testing object jasmine

我正在使用茉莉,我想测试一个对象是否正确扩展另一个对象。

实际上我想实现像sinon.calledWithMatch这样的东西,但是对于同步代码。

Jasmine的toMatch适用于正则表达式。

我希望能够写出类似

的内容
it( 'contains' , function () {
  expect(objectA).to.contain(objectB);
})

it( 'extends' , function () {
  expect(objectA).to.extend(objectB);
})

事情是感觉太明显了,我想知道是否已经有一种正确的方法来实现我不知道的测试。

1 个答案:

答案 0 :(得分:0)

我回答我自己的问题只是为了解释我已经有了一个解决方案,但是我正在寻找一个使用实际框架的解决方案,以防我不知道

目前我正在做

var containsObject = function ( objectA , objectB) {
                        var _match =  true
                        angular.forEach(objectB , function ( value, key ) {  //any loop will do
                          if (value !== objectA[key]) _match = false;
                        });

                        return _match;
                      };

                      expect( containsObject( newObjectWithMoreGoodies, oldObject ).to.eql(true);