簡體   English   中英

如何將代碼和單元測試傳遞給npm測試?

[英]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.

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