jest 命令行運(yùn)行器擁有諸多有用的選項(xiàng)。 運(yùn)行?jest --help
?可以查看所有可用的選項(xiàng) 下面所示選項(xiàng)都可一起使用,以你想要的方式來(lái)運(yùn)行測(cè)試。 每一條 Jest 的 配置選項(xiàng) 都可以通過(guò)命令行來(lái)指定.
大致簡(jiǎn)述如下:
運(yùn)行所有測(cè)試(默認(rèn))
<code>jest</code>
僅運(yùn)行符合指定用模板或文件名的測(cè)試︰
jest my-test #or
jest path/to/my-test.js
運(yùn)行基于 hg/git (未提交的文件) 修改的文件的測(cè)試︰
jest -o
運(yùn)行類(lèi)似? path/to/fileA.js
?和 ?path/to/fileB.js
?的測(cè)試︰
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
運(yùn)行匹配特定名稱(chēng)的測(cè)試用例(主要是匹配 ?describe
?或 ?test
?的名稱(chēng))。
jest -t name-of-spec
運(yùn)行監(jiān)視模式︰
jest --watch #runs jest -o by default
jest --watchAll #runs all tests
監(jiān)視模式還能夠指定名稱(chēng)或文件路徑,從而運(yùn)行特定的一組測(cè)試。
如果通過(guò) 運(yùn)行 ?Jest ?yarn test
??,則可以將命令行參數(shù)直接作為 Jest 參數(shù)傳遞。
代替:
jest -u -t="ColorPicker"
現(xiàn)在你可以使用
yarn test -u -t="ColorPicker"
如果你通過(guò) 運(yùn)行 ?Jest ?npm test
??,你仍然可以通過(guò)?--
?在?npm test
?和 Jest 參數(shù)之間插入 a來(lái)使用命令行參數(shù)。
代替:
jest -u -t="ColorPicker"
現(xiàn)在你可以使用
npm test -- -u -t="ColorPicker"
Jest 支持駝峰格式和虛線(xiàn) arg 格式。以下示例將產(chǎn)生相同的結(jié)果:
jest --collect-coverage
jest --collectCoverage
參數(shù)也可以混合使用:
jest --update-snapshot --detectOpenHandles
注意:CLI 選項(xiàng)優(yōu)先于Configuration 中的值。
當(dāng)你在運(yùn)行 ?jest
?時(shí)附加參數(shù),參數(shù)會(huì)以正則表達(dá)式來(lái)匹配項(xiàng)目中的文件。 可通過(guò)提供的模式來(lái)運(yùn)行測(cè)試。 只會(huì)選擇并運(yùn)行匹配模式的測(cè)試文件。根據(jù)終端的不同,你可能需要引用以下參數(shù):?jest“my.*(complex)?pattern”
?。在Windows上,你需要使用?/
?作為路徑分隔符或轉(zhuǎn)義?\\`as\\\`
?。
別名:?-b
?。在?n
?失敗的測(cè)試套件數(shù)量后立即退出測(cè)試套件。默認(rèn)為?1
?.
是否使用緩存。 默認(rèn)值為 true。 使用 ?--no-cache
?來(lái)禁止緩存。 注意︰ 僅在遇到緩存相關(guān)的問(wèn)題時(shí)禁用緩存。 一般來(lái)說(shuō),禁用緩存會(huì)令Jest運(yùn)行至少慢兩倍。
如果要檢查緩存,請(qǐng)使用?--showConfig
?并查看該?cacheDirectory
?值。如果你需要清除緩存,請(qǐng)使用?--clearCache
?.
運(yùn)行與當(dāng)前更改和上次提交中所做更改相關(guān)的測(cè)試。與 ?--onlyChanged
? 的行為相似。
運(yùn)行與自提供分支以來(lái)的更改相關(guān)的測(cè)試。如果當(dāng)前分支與給定分支有分歧,則只會(huì)測(cè)試本地所做的更改。與?--onlyChanged
?的行為相似。
指定該參數(shù)時(shí),Jest會(huì)認(rèn)為正在CI環(huán)境上運(yùn)行。 當(dāng)遇到新的快照時(shí),這會(huì)改變?cè)瓉?lái)的行為。 不再是自動(dòng)的保存新的快照,取而代之的是,它會(huì)將測(cè)試標(biāo)記失敗,并要求運(yùn)行Jest時(shí)增加?--updateSnapshot
?參數(shù)。
刪除 Jest 的緩存目錄, 然后不運(yùn)行測(cè)試直接退出。 如果傳遞該選項(xiàng),將刪除?cacheDirectory
?,或Jest的默認(rèn)緩存目錄。通過(guò)調(diào)用?jest--showConfig
?可以找到默認(rèn)的緩存目錄_
注意:清除緩存將降低性能。
與?rootDir
?匹配需要收集覆蓋信息的文件相關(guān)的全局模式。
即便stdout不是TTY模式, 也要強(qiáng)制高亮顯示測(cè)試結(jié)果。
或: ?-c
?. 指定如何查找和執(zhí)行測(cè)試的Jest配置文件的路徑。如果配置中未設(shè)置?rootDir
?,則假定包含配置文件的目錄是項(xiàng)目的?rootDir
?。這也可以是 JSON 編碼的值,Jest可以將其設(shè)為基本配置。
別名: ?--collectCoverage.
?將測(cè)試覆蓋率信息輸出為報(bào)告。 可選地傳遞?<boolean>
?以覆蓋配置中的選項(xiàng)集。
指示應(yīng)使用哪個(gè)提供程序來(lái)檢測(cè)代碼以進(jìn)行覆蓋。允許的值為?babel
?(默認(rèn))或?v8
?。
請(qǐng)注意,使用?v8
?被認(rèn)為是實(shí)驗(yàn)性的。這使用了 V8 的內(nèi)置代碼覆蓋率,而不是基于 Babel 的覆蓋率。它沒(méi)有經(jīng)過(guò)很好的測(cè)試,而且在 Node.js 的最后幾個(gè)版本中也得到了改進(jìn)。使用最新版本的 node(在撰寫(xiě)本文時(shí)為 v14)會(huì)產(chǎn)生更好的結(jié)果。
打印關(guān)于 Jest 配置的調(diào)試信息。
嘗試收集和打印阻止 Jest 干凈退出的打開(kāi)句柄。在你需要使用?--forceExit
?它以便 Jest 退出以可能追蹤原因的情況下使用它。這意味著?--runInBand
?,使測(cè)試串行運(yùn)行。使用async_hooks. 此選項(xiàng)具有顯著的性能損失,應(yīng)僅用于調(diào)試。
用于所有測(cè)試的測(cè)試環(huán)境。這可以指向任何文件或節(jié)點(diǎn)模塊。示例:?jsdom
?,?node
?或?path/to/my-environment.js
?。
使調(diào)用已棄用的 API 拋出有用的錯(cuò)誤消息。有助于簡(jiǎn)化升級(jí)過(guò)程。
別名:?-e
?。使用此標(biāo)志來(lái)顯示完整的差異和錯(cuò)誤而不是補(bǔ)丁。
查找并運(yùn)行覆蓋作為參數(shù)傳入的以空格分隔的源文件列表的測(cè)試。對(duì)于預(yù)提交鉤子集成以運(yùn)行最少數(shù)量的必要測(cè)試很有用??膳c with 一起使用?--coverage
?以包含源文件的測(cè)試覆蓋率,無(wú)需重復(fù)?--collectCoverageFrom
?參數(shù)。
強(qiáng)制Jest在所有測(cè)試運(yùn)行完后退出。 對(duì)于一些由測(cè)試所生成但無(wú)法充分清理的資源來(lái)說(shuō),這是很有用的。 注意︰ 此功能是escape-hatch。 如果Jest在測(cè)試運(yùn)行最后沒(méi)有退出,那就意味著外部資源還是被占用,又或是計(jì)時(shí)器還尚在你的代碼中待令。 為了確保Jest可以完全關(guān)閉,建議你在每個(gè)測(cè)試后都關(guān)閉用到的外部資源。你可以使用?--detectOpenHandles
?來(lái)幫助跟蹤它。
顯示幫助信息,類(lèi)似于本頁(yè)文檔。
生成一個(gè)基礎(chǔ)配置文件. 根據(jù)你的項(xiàng)目,Jest將向你詢(xún)問(wèn)一些問(wèn)題,這些問(wèn)題將有助于生成一個(gè)?Jest.config.js
?文件,其中包含每個(gè)選項(xiàng)的簡(jiǎn)短描述。
以 JSON 格式打印測(cè)試結(jié)果。此模式會(huì)將所有其他測(cè)試輸出和用戶(hù)消息發(fā)送到 stderr。
通過(guò) ?--json
?參數(shù)可以將測(cè)試結(jié)果寫(xiě)入到指定文件。返回的JSON結(jié)構(gòu)記錄在 testResultsProcessor.
運(yùn)行上次提交中受文件更改影響的所有測(cè)試。與? --onlyChanged
? 的行為相似。
將所有測(cè)試列為 Jest 將在給定參數(shù)的情況下運(yùn)行的 JSON,然后退出。這可以與?--findRelatedTests
?知道 Jest 將運(yùn)行哪些測(cè)試一起使用。
每次測(cè)試后記錄堆使用情況。用于調(diào)試內(nèi)存泄漏。再加上使用?--runInBand
?和?--expose-gc
?在節(jié)點(diǎn)。
防止 Jest 同時(shí)執(zhí)行超過(guò)指定數(shù)量的測(cè)試。僅影響使用?test.concurrent
?.
別名:?-w
?。設(shè)置運(yùn)行測(cè)試的最大工作池?cái)?shù)目。在監(jiān)視模式下,這默認(rèn)為你機(jī)器上可用內(nèi)核的一半,以確保 Jest 不引人注目并且不會(huì)使你的機(jī)器停止運(yùn)行。在? CI
?等資源有限的環(huán)境中進(jìn)行調(diào)整可能很有用,但對(duì)于大多數(shù)用例來(lái)說(shuō),默認(rèn)值應(yīng)該足夠了。
對(duì)于具有可變 CPU 可用的環(huán)境,你可以使用基于百分比的配置:? --maxWorkers=50%
?
禁止棧跟蹤信息在測(cè)試結(jié)果輸出中。
激活測(cè)試結(jié)果通知。當(dāng)你不希望你的意識(shí)能夠?qū)W⒂诔?JavaScript 測(cè)試之外的任何事情時(shí),這很有用。
或: ?-o
?. 嘗試確定根據(jù)當(dāng)前存儲(chǔ)庫(kù)中哪些已經(jīng)更改的文件來(lái)運(yùn)行的測(cè)試。 僅當(dāng)你目前正在?git
?/?hg
?存儲(chǔ)庫(kù)中運(yùn)行測(cè)試,并且需要靜態(tài)依賴(lài)關(guān)系圖(即不需要?jiǎng)討B(tài)依賴(lài)關(guān)系圖)時(shí),此功能才有效。
允許在沒(méi)有找到文件的情況下通過(guò)測(cè)試。
從一個(gè)或多個(gè)在指定路徑中找到的項(xiàng)目運(yùn)行測(cè)試;也需要路徑球。此選項(xiàng)是projects配置選項(xiàng)的 CLI 等效項(xiàng)。請(qǐng)注意,如果在指定路徑中找到配置文件,則將運(yùn)行這些配置文件中指定的所有項(xiàng)目。
使用指定的報(bào)告器運(yùn)行測(cè)試。無(wú)法通過(guò) CLI 使用報(bào)告器選項(xiàng)。多個(gè)記者的例子:
?jest --reporters="default" --reporters="jest-junit"
?
別名:?-i
?。在當(dāng)前進(jìn)程中連續(xù)運(yùn)行所有測(cè)試,而不是創(chuàng)建運(yùn)行測(cè)試的子進(jìn)程的工作池。這對(duì)于調(diào)試很有用。
僅運(yùn)行指定項(xiàng)目的測(cè)試。Jest 使用?displayName
?配置中的屬性來(lái)標(biāo)識(shí)每個(gè)項(xiàng)目。如果你使用此選項(xiàng),你應(yīng)該為?displayName
?所有項(xiàng)目提供一個(gè)。
僅運(yùn)行以其確切路徑指定的測(cè)試。
注意:默認(rèn)的正則表達(dá)式匹配在小規(guī)模運(yùn)行中運(yùn)行良好,但如果提供多個(gè)??模式和/或針對(duì)大量測(cè)試,則速度會(huì)變慢。此選項(xiàng)替換正則表達(dá)式匹配邏輯,從而優(yōu)化 Jest 過(guò)濾特定測(cè)試文件所需的時(shí)間
模塊路徑是可以在每個(gè)測(cè)試運(yùn)行前,通過(guò)運(yùn)行一些代碼來(lái)配置或設(shè)置測(cè)試框架。 請(qǐng)注意,安裝腳本導(dǎo)入的文件在測(cè)試期間不會(huì)被模擬。
輸出Jest配置,然后退出。
阻止所有測(cè)試通過(guò)控制臺(tái)輸出信息。
別名︰ ?-t
?。 只運(yùn)行名稱(chēng)與正則表達(dá)式匹配的測(cè)試。例如,假設(shè)你只想運(yùn)行與具有類(lèi)似名稱(chēng)的授權(quán)相關(guān)的測(cè)試?"GET /api/posts with auth"
?,那么你可以使用?jest -t=auth
.
注意:正則表達(dá)式與全名匹配,全名是測(cè)試名稱(chēng)及其周?chē)忻枋鰤K的組合。
location向測(cè)試結(jié)果添加字段。如果你想在報(bào)告器中報(bào)告測(cè)試的位置,則很有用。
請(qǐng)注意 column 是從 0 開(kāi)始,而 line 不是。
{
"column": 4,
"line": 5
}
在運(yùn)行測(cè)試前,匹配的regexp模式字符串的測(cè)試文件路徑。 在Windows上,你需要使用/作為路徑分隔符或轉(zhuǎn)義?\`as\`
?。
在執(zhí)行測(cè)試之前針對(duì)所有測(cè)試路徑測(cè)試的正則表達(dá)式模式字符串?dāng)?shù)組。與 相反--testPathPattern,它只會(huì)運(yùn)行那些路徑與提供的正則表達(dá)式不匹配的測(cè)試。
允許你指定自定義測(cè)試運(yùn)行程序。
允許你指定自定義測(cè)試音序器。具體請(qǐng)參考對(duì)應(yīng)配置屬性的文檔。
默認(rèn)測(cè)試超時(shí)時(shí)間單位為毫秒。? 默認(rèn)值: 5000。?
或: ?-u
?. 在運(yùn)行測(cè)試中使用這個(gè)參數(shù)來(lái)重新錄制每個(gè)失敗測(cè)試的快照。 還可以和測(cè)試套件模式或者和 ?--testNamePattern
? 一起使用,從而重新錄制的快照。
轉(zhuǎn)移所有輸出到?stderr
?(標(biāo)準(zhǔn)錯(cuò)誤輸出).
層次顯示測(cè)試套件中每個(gè)測(cè)試的結(jié)果。
別名:?-v
?。打印版本并退出。
監(jiān)視文件的更改并重新運(yùn)行與更改文件相關(guān)的測(cè)試。如果要在文件更改時(shí)重新運(yùn)行所有測(cè)試,請(qǐng)改用?--watchAll
?選項(xiàng)。
觀察文件的變化并在發(fā)生變化時(shí)重新運(yùn)行所有測(cè)試。如果你只想重新運(yùn)行依賴(lài)于已更改文件的測(cè)試,請(qǐng)使用?--watch
?選項(xiàng)。
使用?--watchAll=false
?明確的禁止計(jì)時(shí)模式。請(qǐng)注意,在大多數(shù) CI 環(huán)境中,這會(huì)自動(dòng)為你處理。
是否使用 watchman 進(jìn)行文件抓取。默認(rèn)值為 true。 禁用使用?--no-watchman
?.
更多建議: