我正在项目中引入单元测试,所以需要制作一个package.json
文件。
第一个问题是,你在使用哪个单元测试套件
?我在寻找一个似乎非常适用于Node.js
项目的套件,那就是mocha
。
第二个问题是:是否有任何神奇的方法可以生成package.json
文件?(用于依赖和版本)
第三个问题是:在开发我的项目时,我测试了很多npm包
,现在我卡在了许多可能没有用的包上。有没有办法告诉我哪些是无用的?(我看到了npm list installed
,虽然有用)
我正在项目中引入单元测试,所以需要制作一个package.json
文件。
第一个问题是,你在使用哪个单元测试套件
?我在寻找一个似乎非常适用于Node.js
项目的套件,那就是mocha
。
第二个问题是:是否有任何神奇的方法可以生成package.json
文件?(用于依赖和版本)
第三个问题是:在开发我的项目时,我测试了很多npm包
,现在我卡在了许多可能没有用的包上。有没有办法告诉我哪些是无用的?(我看到了npm list installed
,虽然有用)
我正在使用 Mocha。
npm init
用于初始化一个新项目。
如果你运行 npm ls
,那么在不在 package.json 中的包将会被标记为 "extraneous"。但是,看起来你还没有 package.json 文件。
基本上,你的工作流程很混乱。以下是正确的工作流程:
npm init
创建一个新项目,该项目没有任何依赖项。express
,将其添加到 package.json 的 dependencies 中,然后运行 npm install
。mocha
,将其添加到 package.json 的 devDependencies 中,然后运行 npm install
。你好像已经手动安装了一些包(通过 npm install <packageName>
),这样会很混乱。我建议重新开始,并按照上述工作流程进行操作。
npm install <packageName> --save
命令,这将自动将其添加到你的 package.json
文件中。更多细节请参见:https://npmjs.org/doc/install.html。我发现这比 Domenic 在上面建议的流程更容易。 - stephenbez--save-dev
用于 devDependencies
(在提到的链接文档中有说明)。 - chakritnpm prune
命令将删除在你的package.json文件中未被引用的所有已安装模块。
我也使用Mocha。它具有代码覆盖率、BDD、TDD,并且可以在浏览器中运行。它非常完整,由我认为是最杰出的javascript / node.js程序员之一的TJ进行了大量维护。
很难猜测要使用哪个版本,因为npm不知道哪个版本会破坏哪些依赖项。您可能可以使用类似node-detective的工具安装所有依赖项。然后,您可以在javascript中使用npm.js来安装它们。也许将来我会考虑解决这个问题。
我还可能删除所有依赖项,然后使用步骤(2)重新安装所需的依赖项。但是,随着当前硬盘的容量越来越大,磁盘空间已经不再是一个大问题。
附言:我认为我也同意Domenic的看法。
我使用的是vows。它很好,但不完美。我发现在node中进行单元测试通常会因为与数据库等异步回调而具有挑战性,并且大多数情况下只测试顶层功能。
这里是你的魔法:使用Shrinkwrap管理Node.js依赖关系。
唯一知道你正在使用哪些软件包的方法就是知道。你无法通过程序生成这个。我的建议是积极删除软件包,然后重新测试所有功能 - 如果出现故障,您将知道需要重新安装其中一个软件包。
回答你的第三个问题,你可以使用Sweeper来列出未使用的依赖项,并从你的package.json中删除它们。只需在命令行上运行npm install -g sweeper
,然后在你的项目目录中调用sweeper
即可。