繁体   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