簡體   English   中英

創建對象的單元測試

[英]Unit test for creation object

我開始學習使用茉莉花的單元測試。 也許有人可以向我解釋-我需要如何檢查創建新對象,例如:

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'); 期待(outLog.request.title).toEqual( '標題');

謝謝!

為了檢查對象,當比較兩個對象時,大多數框架通常會提供某種形式的差異。

為此,您首先需要將其與對象文字進行比較:

expect(outLog).toEqual({
   request: {
     method: 'POST',
     title: 'title',
     ...
})

這也從所有的期望語句中刪除了很多邏輯,這將有助於維護和調試。 此外,當存在許多不同的斷言時,當可以通過單個斷言完成相同的操作時,較早的斷言將掩蓋較晚的斷言,從而創建不必要的反饋循環。 一位單元測試思想領袖通過建議單元測試僅應具有一個斷言來幫助他們保持專注,減少調試時間並使其更易於操作和理解,從而解決了這一問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM