我有这个测试:
it('Outputs correct ES6 code', () => {
const updateCodeGenerationOptions = actions.updateSourceCode(sampleJson)
expect(jsonCodeTools(undefined, updateCodeGenerationOptions))
.toEqual(
{
'options': {'outputCodeType': 'ES6'},
'outputCodeFromJSON': '<pre>export class Foo {<br> constructor (object) {<br> this.shouldBeNumber1 = object.shouldBeNumber1; <br> this.shouldBeString1 = object.shouldBeString1; <br> this.shouldBeBoolean1 = object.shouldBeBoolean1; <br> this.shouldBeFragment1 = new shouldBeFragment1(object.shouldBeFragment1); <br> } <br>}<br>export class shouldBeFragment1{<br> constructor (object) {<br> this.FshouldBeNumber1 = object.FshouldBeNumber1; <br> this.FshouldBeString1 = object.FshouldBeString1; <br> this.FshouldBeBoolean1 = object.FshouldBeBoolean1; <br> } <br>}<br></pre>',
'sourceCode': JSON.stringify({
'shouldBeNumber1': '1',
'shouldBe String1': '.1',
'shouldBeBoolean1': 'false',
'shouldBeFragment1': {
'FshouldBeNumber1': '1',
'FshouldBeString1': 'bar',
'FshouldBeBoolean1': 'false'
}
})
}
)
})
当它运行时,它会失败:
所以对我而言,这只是一个格式化问题,我将如何通过这项测试?
答案 0 :(得分:0)
您确实存在格式问题,但无论如何您的测试确实没有通过。看看shouldBeFragment1
;期望值为false,但实际值为对象。
对于格式化问题,您应该JSON.parse
,然后JSON.stringify
实际输出,以便它不是漂亮的打印(或者更好的是从被测单元中删除漂亮的打印)。