如何管道代码和单元测试到npm测试?

问题描述 投票:1回答:1

我想在我的服务器上进行单元测试,而无需编写临时文件。有没有办法将要测试的代码和单元测试传递给npm test? npm测试文档有点像裸(https://docs.npmjs.com/cli/test)。此外,如果有替代解决方案,它不一定是npm test

谢谢Jens

javascript node.js unit-testing npm
1个回答
5
投票

npm test只是执行npm软件包测试套件的一种方便的方法,而不必担心套件应该如何运行的细节。如果你在scripts没有test条目的项目上运行它,你会得到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测试来测试单元测试?

提供在线测试的网站提供非常不同的服务。因此,根据您所指的在线测试服务,有时答案是肯定的,有时甚至没有。

  • Travis-ci提供的服务可以在您的服务器上运行您的整个测试。为此,它从git存储库检出测试中的分支,所以是的,他们正在获取用户代码的副本。请注意,这完全独立于您设置npm test运行的测试运行器:无论您运行Mocha还是Karma,还是其他一些东西,Travis都会检查测试中的分支,然后运行npm test
  • 另一方面,SauceLabs和BrowserStack本身不运行套件,而是提供启动浏览器进行测试的虚拟机。您的测试套件仍然在您的计算机上运行。因此,他们没有获得正在测试的代码的副本。再次,你使用哪个跑步者并不重要。我使用Mocha,Karma,Behave等运行这些服务的套件。

现在关注你的头衔:

如何管道代码和单元测试到npm测试?

没有测试设置我知道管道测试中的代码。提供被测代码的最常用方法,测试本身就是从Travis那样的存储库中检出代码。 (请注意,这不要求您公开您的代码。测试服务可以使用私有存储库。)

© www.soinside.com 2019 - 2024. All rights reserved.