問題タブ [proxyquire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
12242 参照

node.js - Proxyquire、rewire、SandboxedModule、Sinon: 長所と短所

ノードの依存関係をモックしているときに、次のライブラリに出くわしました。

それらはすべて多かれ少なかれ同じことをしているようです:require()呼び出しをモックできるようにします (ほとんどすべてをモックする Sinon を除いて)。それらはすべて、渡される文字列の正確な構文に注意して、かなり精巧なセットアップを必要とするようですrequire-リファクタリング中はあまり良くありません.

各ライブラリの長所と短所は何ですか? どちらかを選択するのはいつですか?各ライブラリが優れているユースケースの例は? この分野で優れている他の製品は何ですか?

0 投票する
6 に答える
12585 参照

javascript - Knex に対して単体テストを行うときに、偽のデータベースをモックするにはどうすればよいですか?

バックエンド データベースへの接続にKnexを使用しています。しかし、コードを単体テストできるようにしたいと考えています。データベース接続をモックする方法はありますか?

proxyquireを使用してみましたが、動作しないようです。

問題は、Knex の初期化方法にあるようです。

単体テストでモックされるようにknexをセットアップしました。

私のサービスにはknexが含まれています。

サービスがクエリを実行すると失敗します。

何らかの理由で、接続を試みる前にリクエストをキャプチャできないようです。

また、カスタム Knex Clientを作成しようとしましたが、まだ機能していません。

0 投票する
0 に答える
113 参照

node.js - node.js : コール スタックの任意のレベルで proxyquire を適用できますか?

Node.js : proxyquire を使用して、コール スタックの任意のレベルで依存関係をモックできますか?

route1.endpoint1 をテストする必要があります

route1 には module1 が必要で、これには module2 が必要で、これには module3 が必要です

module2 に proxyquire を適用できますか? その require module3 にスタブを割り当てますか?

0 投票する
1 に答える
3708 参照

node.js - node.js で sinon/proxyquire または依存関係のいずれかを使用して単体テストで twilio をモックする方法

Twilio で SMS 経由でログイン コードを送信するユーザー ログイン コントローラーをテストしたいとします。Twilio をモックして、どのようなコードが返されているかを確認するには、テストをどのように設定すればよいですか。私のアプローチは、twilio クライアント オブジェクトをプロキシクワイアし、それを sinon でスパイすることでしたが、私はそれを完全に正しく理解しているとは思いません。

コントローラー user.js

テストファイル

0 投票する
1 に答える
1009 参照

node.js - nodeJS proxyquire は、require の特定の機能を上書きします

現在、proxquire を使用してモジュールを分離してテストし、このモジュールの要件を上書きしています。

require のパスを上書きすると、proxyquire で問題なく動作します。例えば:

しかし、proxyquire を使用して、モジュールでテストする必要があるモジュールの特定の機能だけを上書きすることはできますか? 次のようなものです:

アーキテクチャの別のレイヤーで発生する http 要求をモックするために使用しているため、これには proxyquire にとどまる必要があります。しかし、テストの場合、モジュールの「今」の時間もモックする必要があります。

だから現在私はこれを持っています:

setNow の実装は次のとおりです。

'./checkin.setNow' : setNowStubこれは間違ったパスであるため、proxyquire のObviousleyは機能しません。'./checkin'.setNow() : setNowStubただし、オブジェクト定義の構文が間違っているため、使用も機能しません。

助言がありますか?

前もって感謝します!

0 投票する
0 に答える
1661 参照

node.js - `proxyquire` - エラー: モジュールが見つかりません

何らかの理由proxquireでモジュールが見つかりませんindex.js。私は本当にばかげた、または明白なことをしているに違いなく、それを見ることができません。

エラー:

奇妙なことに、別のアプリのテスト用に同じセットアップがあり、そこでモジュールを見つけるのに問題はありません。の同じバージョンを維持してproxyquireいましたが、最新バージョンに変更しても修正されませんでした。index.js指定したパスのディレクトリに存在します。

これは私のテストコードです:

0 投票する
1 に答える
10020 参照

node.js - proxyquire によるスタブ

次のモジュールをproxyquireとsinonでスタブするにはどうすればよいですか:

次のことを行いましたが、エラーをトリガーしようとしてsend()もメールが送信されるため、機能しません。

また、試しました:

これはこれまでの完全なテストであり、失敗します。