Javascript 创建对象的单元测试
我开始用jasmine学习单元测试。也许有人可以向我解释-我需要如何检查创建新对象,如:Javascript 创建对象的单元测试,javascript,unit-testing,jasmine,Javascript,Unit Testing,Jasmine,我开始用jasmine学习单元测试。也许有人可以向我解释-我需要如何检查创建新对象,如: const outLog = { time: newTime, request: { direction: 'OUT', method: data.request.method, title: data.request.url, body: data.request.data, headers: getHeaders(data.request.headers)
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',
...
...
},
}
expect(outLog.request.method).toEqual('POST');
expect(outLog.request.title).toEqual('title')
谢谢 对于检查对象,大多数框架在比较两个对象时通常提供某种相当不同的功能 要获得此结果,首先需要将其与对象文字进行比较:
expect(outLog).toEqual({
request: {
method: 'POST',
title: 'title',
...
})
这还将从所有expect语句中删除大量逻辑,这将有助于维护和调试。此外,当存在许多不同的断言时,较早的断言会掩盖较后的断言,从而创建不必要的反馈循环,而相同的事情可以通过单个断言完成。单元测试的一位思想领袖对此提出了建议,他建议单元测试应该只有一种方法来帮助他们集中精力,减少调试时间,并使他们更容易工作和理解。Hi!谢谢你的解释!我需要在预期输出之前定义输出日志吗?谢谢