[英]How can I pipe code and unit test to npm test?
我想在服務器上即時進行單元測試,而無需編寫臨時文件。 有沒有辦法將要測試的代碼和單元測試都傳遞給npm test
? npm測試文檔幾乎沒有內容( https://docs.npmjs.com/cli/test )。 另外,如果有替代解決方案,則不必進行npm test
。
謝謝詹斯
npm test
只是執行npm
軟件包的測試套件的一種簡便方法,而不必擔心套件如何運行的細節。 如果您在沒有要test
scripts
條目的項目上運行它,則會出現Error: no test specified
。 如果您使用以下命令設置package.json
:
{
"scripts": {
"test": "echo This is a test!"
}
}
然后npm test
將回顯到控制台This is a test!
。 您在真實項目中要做的事情是設置一個腳本來啟動真實測試工具。 例如, mocha
是一個測試運行器,因此,一旦安裝,您就可以擁有:
"scripts": {
"test": "mocha"
}
或者,您可能擁有Karma,Jest或水龍頭,或者您擁有什么。
您在懸賞通知中寫道:
一些網站提供了JavaScript代碼的在線測試功能,是否真的使用用戶代碼寫出臨時文件來通過npm test進行單元測試?
提供在線測試的網站提供非常不同的服務。 因此,根據您指的是哪種在線測試服務,有時答案是肯定的,有時則不是。
Travis-ci提供一項服務,可在其服務器上運行您的整個測試。 為此,它從git存儲庫中檢出了受測分支,因此,是的,他們正在獲取用戶代碼的副本。 請注意,這與您設置要運行npm test
運行npm test
完全無關:無論運行Mocha還是Karma,還是其他原因,Travis都會檢出被測分支,然后運行npm test
。
另一方面,SauceLabs和BrowserStack本身不會運行套件,而是提供啟動瀏覽器進行測試的虛擬機。 您的測試套件仍在您的計算機上運行。 因此,他們不會獲得正在測試的代碼的副本。 同樣,您使用哪個跑步者也沒有關系。 我使用Mocha,Karma,Behave等使用這些服務運行套件。
現在關注您的標題:
如何將代碼和單元測試傳遞給npm測試?
我不知道測試管道的測試設置。 提供被測代碼的最常見方法以及測試本身就是像Travis一樣從存儲庫中檢出代碼 。 (請注意,這並不要求您公開代碼。測試服務可以與私有存儲庫一起使用。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.