模拟构造函数以强制进入有条件

时间:2019-03-04 16:38:31

标签: javascript testing jestjs

所以我正在进行单元测试,我需要根据以下条件将其设为条件(即我希望条件为真)

if(foo.body.constructor === Object && Object.keys(foo.body).length === 0) {
.
.
.
}

到目前为止,我的模型看起来像这样。这不会崩溃,但不会像我希望的那样进入条件。

let foo = {
    body:()=> jest.fn()
}

我也在下面尝试过,发现返回的长度始终为1。

let foo = {
        body:{
            constructor: Object
        }
    }

不确定要使foo.body的长度为0以及让foo.body.constructor为0 我需要做什么

2 个答案:

答案 0 :(得分:1)

两个条件是foo.bodyObject,而foo.body没有任何keys,因此这可以使您了解条件:

const foo = {
  body: {}  // Object with no keys
};

答案 1 :(得分:0)

let foo = {
  body: {
    aMockedKey: () => jest.fn()
  }
}

第二个条件是测试foo.body的键