我开始使用茉莉花学习单元测试。也许有人可以解释我 - 我需要检查如何创建新对象:
const outLog = {
time: newTime,
request: {
direction: 'OUT',
method: data.request.method,
title: data.request.url,
body: data.request.data,
headers: getHeaders(data.request.headers),
},
response: {
status: '',
headers: {},
body: {},
},
};
if (data.response && data.response !== null) {
outLog.response.status = data.response.status;
outLog.response.body = data.response.data;
outLog.response.headers = getHeaders(data.response.headers);
}
log.out.push(outLog);
我是否需要填写请求方法,请求标题和实际数据等字段并检查
const outLog = {
request: {
method: 'POST',
title: 'title',
...
...
},
}
期望(outLog.request.method).toEqual(' POST&#39); 期望(outLog.request.title).toEqual('标题&#39);
谢谢!
答案 0 :(得分:0)
对于检查对象,当你比较两个对象时,大多数框架通常会提供某种漂亮的差异。
要实现这一目标,首先需要将其与对象文字进行比较:
expect(outLog).toEqual({
request: {
method: 'POST',
title: 'title',
...
})
这也从所有期望语句中删除了很多逻辑,这有助于维护和调试。此外,当存在许多不同的断言时,较早的断言会掩盖后面的断言,从而创建不必要的反馈循环,当使用单个断言完成相同的操作时。其中一个单元测试思想领袖通过建议单元测试应该只有single assertion来帮助他们集中注意力,减少调试时间,并使它们更易于工作和理解。