22

私は自分のプロジェクトに単体テストを導入しています。このために、自分でpackage.jsonファイルを作成する必要があります。

最初の質問は、どちらunit testing suiteを使用していますか?mochaプロジェクトの標準と思われるものを楽しみにしていNode.jsます。

2番目の質問は:ファイルを生成する魔法の方法はありpackage.jsonますか?(依存関係とバージョンの場合)

3番目の質問は次のとおりです。プロジェクトの開発中に多くのテストを行ってきましたがnpm packages、今ではおそらく未使用のパッケージがたくさんあります。どれが役に立たないかを知る方法はありますか?(私はnpm list installedどちらが便利かを見ました)

4

5 に答える 5

34
  1. モカを使っています。

  2. npm init

  3. npm lspackage.jsonにないものの横に「extraneous」が表示されます。しかし、まだpackage.jsonを持っていないようです。


基本的に、ワークフローは非常に逆方向です。動作の目的は次のとおりです。

  1. で新しいプロジェクトを開始しnpm initます。依存関係はありません。
  2. ああ、私はパッケージを使い始めたい、と言いexpressますか?package.json依存関係の下に追加してから、を実行しnpm installます。
  3. ああ、開発用のパッケージを使い始めたいと思いますmochaか?package.json下に追加してdevDependencies、を実行しnpm installます。

手動でインストールされたパッケージ(を介してnpm install <packageName>)を含む既存のコードがあるようですが、これは混乱しています。上記のワークフローを最初からやり直して従うことをお勧めします。

于 2012-04-11T15:41:12.937 に答える
20

3番目の質問に答えるには:

npm prune

package.jsonに記載されなくなったインストール済みモジュールをすべて削除します。


そして、あなたは本当に3つの別々の質問をするべきでした。

于 2013-12-03T21:41:15.623 に答える
6
  1. 私もモカを使っています。コードカバレッジ、BDD、TDDがあり、ブラウザで実行されます。それはかなり完全であり、TJという名前の最も優秀なjavascript/node.jsプログラマーの1人によってもかなり維持されていると思います。

  2. 使用するバージョンを推測することはほとんど不可能です。npmは、どのバージョンがどの依存関係を壊すかを知らないためです。node-detectiveのようなものを使用して、すべての依存関係をインストールできます。次に、javascript内からnpm.jsを使用してそれらをインストールできます。将来的にはこれに取り組みたいと思います。

  3. また、おそらくすべての依存関係を削除します。次に、step(2)を使用して必要な依存関係をインストールし直します。しかし、現在のHDでは、ディスクスペースはそれほど大きな問題ではなくなりました。

PS:私もドメニックに同意すると思います

于 2012-04-11T15:43:49.613 に答える
3
  1. 私は誓いを使っています。かなり良いですが、完璧ではありません。私は、dbsなどへの非同期コールバックのために、ノードでの単体テストがしばしば困難であることに気付き、主にトップレベルの機能をテストしてきました。

  2. これがあなたの魔法です:Shrinkwrapを使用したNode.jsの依存関係の管理

  3. 使用しているパッケージを知る唯一の方法は、知ることです。これをプログラムで生成することはできません。私のアドバイスは、パッケージを積極的に削除してから、すべての機能を再テストすることです。機能が壊れた場合は、パッケージの1つを再インストールする必要があることがわかります。

于 2012-04-11T15:40:18.770 に答える
2

3番目の質問に答えると、 Sweeperを使用して未使用の依存関係を一覧表示し、それらをpackage.jsonから削除できます。次に、プロジェクトディレクトリでコマンドラインをnpm install -g sweeper呼び出します。sweeper

于 2013-10-19T20:45:25.667 に答える