プロジェクトに単体テストを導入しています。このために、自分でpackage.json
ファイルを作成する必要があります。
最初の質問は、どのunit testing suite
を使用していますか? Node.js
プロジェクトの標準と思われるmocha
を楽しみにしています。
2番目の質問は:package.json
ファイルを生成する魔法の方法はありますか? (依存関係とバージョンの場合)
番目の質問は:プロジェクトの開発中に多くのnpm packages
をテストしてきましたが、今ではおそらく未使用のパッケージがたくさんあります。どちらが役に立たないかを判断する方法はありますか? (私はnpm list installed
を見ましたが、これは便利です)
私もモカを使っています。コードカバレッジ、BDD、TDDがあり、ブラウザで実行されます。それはかなり完全であり、TJという名前の最も優秀なjavascript /node.jsプログラマーの1人によってかなり維持されていると思います。
使用するバージョンを推測することはほとんど不可能です。 npmは、どのバージョンがどの依存関係を壊すかを知らないためです。 node-detective のようなものを使用して、すべての依存関係をインストールできます。次に、javascript内からnpm.jsを使用してそれらをインストールできます。将来的にはこれに取り組みたいと思います。
また、おそらくすべての依存関係を削除します。次に、step(2)を使用して必要な依存関係をインストールし直します。しかし、現在のHDでは、ディスクスペースはそれほど大きな問題ではなくなりました。
追伸:私もドメニックに同意すると思います
私はモカを使用しています。
npm init
npm ls
は、package.jsonにないものの横に「外部」をリストします。しかし、まだpackage.jsonを持っていないようです。
基本的に、ワークフローは非常に逆方向です。動作の目的は次のとおりです。
npm init
で新しいプロジェクトを開始します。依存関係はありません。express
?依存関係の下のpackage.json
に追加してから、npm install
を実行します。mocha
?それをdevDependencies
の下のpackage.json
に追加してから、npm install
を実行します。手動でインストールされたパッケージ(npm install <packageName>
経由)を含む既存のコードがあるようですが、これは混乱しています。上記のワークフローを最初からやり直すことをお勧めします。
3番目の質問に答えるには:
npm Prune
package.jsonに記載されていないインストール済みモジュールをすべて削除します。
そして、あなたは本当に3つの別々の質問をするべきでした。
私は誓いを使っています。それはかなり良いですが、完璧ではありません。ノードでのユニットテストは、dbsなどへの非同期コールバックのためにしばしば困難であることがわかり、主にトップレベルの機能をテストしてきました。
これがあなたの魔法です: Shrinkwrapを使用したNode.jsの依存関係の管理 。
使用しているパッケージを知る唯一の方法は、知ることです。これをプログラムで生成することはできません。私のアドバイスは、パッケージを積極的に削除してから、すべての機能を再テストすることです。機能が壊れた場合は、パッケージの1つを再インストールする必要があることがわかります。
3番目の質問に答えると、 Sweeper を使用して未使用の依存関係を一覧表示し、package.jsonからそれらを削除できます。ただnpm install -g sweeper
次に、プロジェクトディレクトリでコマンドラインでsweeper
を呼び出します。