2016-10-26 13 views
0

私はangularjsウェブアプリケーションの自動化テストを書いています。分度器とキュウリを使用する。 私はテストを別のフォルダとして編成しましたが、実際にはルートプロジェクトとは異なるノードパッケージが必要でした(プロジェクトがWebアプリケーションを構築しました)。Javascript分度器 - 遠隔node_modulesで分度器テストを実行するソリューションはありますか?

今日、テストプロジェクトのnode_modulesをルートプロジェクトのnode_modulesとマージする必要があります。 私の知る限り、コマンド分度器protractor_conf.jsを実行すると、システムは1レベルのアップストリームフォルダ内のnode_modulesを探します。

私は自分のプロジェクトフォルダのスクリーンショットを明瞭にするつもりです。

Current project oganization

は、すべての提案に感謝します!おかげさまで

答えて

0

node_modulesをプロジェクトディレクトリ内の別のフォルダとして保存しないことはお勧めしません。代わりに、テストプロジェクト用にpackage.jsonファイルを作成し、package.jsonファイル内のすべての依存関係をリストすることができます。したがって、protractor conf.jsを実行する前に、プロジェクトが利用可能なディレクトリからnpm installコマンドを実行するだけです。だからこの方法では、node_modulesフォルダーに依存せずにe2eスクリプトを別のマシンで実行するのに役立ちます。

Example package.json for protractor

それは両方のプロジェクトで使用されている任意のnode_moduleのバージョンの競合を回避することができるので、また、別のプロジェクトのために別々のnode_modulesを維持することをお勧めします。

+0

ありがとうございます。 実際には、テストに必要なすべてのパッケージがpackage.jsonファイルに含まれています。 "バージョンの競合を避ける"という点に本当に感謝しています 私の質問によると、リモートのnode_modulesでテストスクリプトを実行するソリューションはありますか? –

+0

次に、2つの異なるプロジェクトのnode_modulesをマージする必要があるのはなぜですか?あなたはgitのような任意のsvnにあなたのコードでチックしようとしていますか? –

+0

はい、テストプロジェクトはbitbucketにプッシュされるはずです。 アイデアは、DevとTestの両方に対してnode_modulesフォルダを1つだけ持つようにプロジェクトフォルダを最適化することです。 バージョンの競合があることに同意します。しかし、私はまだ分度器がリモートのnode_modulesフォルダで実行するような解決策があるかどうかを知りたがっています。 –