2017-09-04 57 views
0

Snapshot testing便於測試UI組件。如果您的UI組件發生更改,則需要更新快照以反映相同情況。我們可以指定'testNamePattern'來更新特定測試的快照。如何在Jest中更新快照時強制使用'testPattern'?

jest --updateSnapshot --testNamePattern abc.test.js 

在更新快照時可以強制'testNamePattern'嗎?這將有助於避免錯誤地更新其他失敗的快照。據我所知,預計會在代碼審查階段被捕。但是,我想確保快照總是針對特定模式進行更新。

回答

0

截至目前,沒有任何CLI選項可以根據doc來執行此操作。我在我的testFrameworkScriptFile中添加了一小段代碼,以確保在更新快照時傳遞testNamePattern

import yargs from 'yargs'; 
 
const mandateTestNamePattern =() => { 
 
    const args = yargs.option('testNamePattern', { 
 
     type: 'string' 
 
    }).option('t', { 
 
     type: 'string' 
 
    }).argv; 
 

 
    if (args.updateSnapshot || args.u) { 
 
     if (args.testNamePattern || args.t) { 
 
      // valid case 
 
     } else { 
 
      throw new Error('TestNamePattern is mandatory while updating snapshots'); 
 
     } 
 
    } 
 
}; 
 

 
mandateTestNamePattern();