2012-04-11 22 views
22

私は自分のプロジェクトで単体テストを導入しています。このために自分自身をpackage.jsonにする必要があります。package.json generation/npm未使用パッケージ

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

第2質問は:package.jsonファイルを生成する魔法の方法はありますか? 3番目の質問が

(依存関係とバージョン用)は、次のとおりです。私は私のプロジェクトの開発中npm packagesの多くをテストしてきたし、今私はおそらく未使用のパッケージの多くで立ち往生しています。どちらが役に立たないかを知る方法はありますか? (しかし私は有用であるnpm list installedを見た)

+2

http://npmjs.org/doc/init.htmlはおそらく、npmプロジェクトを作成する最も簡単な方法です。 http://npmjs.org/doc/json.htmlを読んで、expressやnpmのようなよく使用され、テストされたパッケージから自分自身を育てることをお勧めします。 –

+0

あなたは本当に3つの別々の質問をするべきです。 – Domenic

+1

うわー!とても良い答え!みんなのおかげで、これは非常に役に立ちます!キープアム来る! – TomShreds

答えて

6
  1. 私もモカを使用しています。それはコードカバレッジ、BDD、TDD、ブラウザで動作します。それはかなり完成しており、私はTJという名前の最も華麗なjavascript/node.jsプログラマーの一人と思っています。

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

  3. また、おそらくすべての依存関係を削除します。次に、手順(2)を使用して依存関係を復元する必要があります。しかし、現在のHDではディスクスペースもそれほど大きなケースではありません。

P.S:私はまた、あなたの3番目の質問に答えるDomenic

3
  1. 私は誓いを使っています。それはかなり良いですが、完璧ではありません。私はノードのユニットテストがdbs &の非同期コールバックのために頻繁に挑戦的であることを発見しており、主にトップレベルの機能をテストしています。

  2. ここにあなたの魔法はありますか。Managing Node.js Dependencies with Shrinkwrapです。

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

+0

ポイント3の+1 +1 – Domenic

34
  1. 私はモカを使用しています。

  2. npm init

  3. npm ls次のあなたのpackage.jsonに含まれていないものに "余分な" リストが表示されます。しかし、あなたはまだpackage.jsonを持っていないようです。


基本的には、あなたのワークフローは非常に遅れています。ここにどのように動作するように意図されています:

  1. npm initで新しいプロジェクトを開始してください。依存関係はありません。
  2. ああ、パッケージを使用したいと思っています、たとえばexpress?依存関係の下でpackage.jsonに追加し、npm installを実行してください。
  3. ああ、開発のためにパッケージを使用したいと思っています。例えば、mochapackage.jsondevDependenciesの下に追加し、npm installを実行してください。

手作業でインストールされたパッケージ(npm install <packageName>経由)の既存コードが混乱しているようです。上記のワークフローをやり直すことをお勧めします。

+0

あなたはそれが後方だと言うと、あなたはまったく正しいです。それは小さなテストプロジェクトであるはずだったが、私がheheを期待していたよりもテストではなく大きくなった。ご回答有難うございます! – TomShreds

+9

'npm install --save'を実行することもできます。自動的に' package.json'に追加されます。詳細はこちらをご覧ください:https://npmjs.org/doc/install.html Domenicが上に示したワークフローよりも簡単です。 – stephenbez

+3

'devDependencies'の' --save-dev'(上記リンクのdoc) – chakrit

2

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

20

npm prune

はもはやあなたのpackage.jsonに記載されているインストールされているすべてのモジュールを削除します。


本当に3つの質問があります。

関連する問題