問題タブ [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.
node.js - Proxyquire、rewire、SandboxedModule、Sinon: 長所と短所
ノードの依存関係をモックしているときに、次のライブラリに出くわしました。
それらはすべて多かれ少なかれ同じことをしているようです:require()
呼び出しをモックできるようにします (ほとんどすべてをモックする Sinon を除いて)。それらはすべて、渡される文字列の正確な構文に注意して、かなり精巧なセットアップを必要とするようですrequire
-リファクタリング中はあまり良くありません.
各ライブラリの長所と短所は何ですか? どちらかを選択するのはいつですか?各ライブラリが優れているユースケースの例は? この分野で優れている他の製品は何ですか?
javascript - Knex に対して単体テストを行うときに、偽のデータベースをモックするにはどうすればよいですか?
バックエンド データベースへの接続にKnexを使用しています。しかし、コードを単体テストできるようにしたいと考えています。データベース接続をモックする方法はありますか?
proxyquireを使用してみましたが、動作しないようです。
問題は、Knex の初期化方法にあるようです。
単体テストでモックされるようにknexをセットアップしました。
私のサービスにはknexが含まれています。
サービスがクエリを実行すると失敗します。
何らかの理由で、接続を試みる前にリクエストをキャプチャできないようです。
また、カスタム Knex Clientを作成しようとしましたが、まだ機能していません。
node.js - node.js : コール スタックの任意のレベルで proxyquire を適用できますか?
Node.js : proxyquire を使用して、コール スタックの任意のレベルで依存関係をモックできますか?
route1.endpoint1 をテストする必要があります
route1 には module1 が必要で、これには module2 が必要で、これには module3 が必要です
module2 に proxyquire を適用できますか? その require module3 にスタブを割り当てますか?
node.js - node.js で sinon/proxyquire または依存関係のいずれかを使用して単体テストで twilio をモックする方法
Twilio で SMS 経由でログイン コードを送信するユーザー ログイン コントローラーをテストしたいとします。Twilio をモックして、どのようなコードが返されているかを確認するには、テストをどのように設定すればよいですか。私のアプローチは、twilio クライアント オブジェクトをプロキシクワイアし、それを sinon でスパイすることでしたが、私はそれを完全に正しく理解しているとは思いません。
コントローラー user.js
テストファイル
node.js - nodeJS proxyquire は、require の特定の機能を上書きします
現在、proxquire を使用してモジュールを分離してテストし、このモジュールの要件を上書きしています。
require のパスを上書きすると、proxyquire で問題なく動作します。例えば:
しかし、proxyquire を使用して、モジュールでテストする必要があるモジュールの特定の機能だけを上書きすることはできますか? 次のようなものです:
アーキテクチャの別のレイヤーで発生する http 要求をモックするために使用しているため、これには proxyquire にとどまる必要があります。しかし、テストの場合、モジュールの「今」の時間もモックする必要があります。
だから現在私はこれを持っています:
setNow の実装は次のとおりです。
'./checkin.setNow' : setNowStub
これは間違ったパスであるため、proxyquire のObviousleyは機能しません。'./checkin'.setNow() : setNowStub
ただし、オブジェクト定義の構文が間違っているため、使用も機能しません。
助言がありますか?
前もって感謝します!
node.js - `proxyquire` - エラー: モジュールが見つかりません
何らかの理由proxquire
でモジュールが見つかりませんindex.js
。私は本当にばかげた、または明白なことをしているに違いなく、それを見ることができません。
エラー:
奇妙なことに、別のアプリのテスト用に同じセットアップがあり、そこでモジュールを見つけるのに問題はありません。の同じバージョンを維持してproxyquire
いましたが、最新バージョンに変更しても修正されませんでした。index.js
指定したパスのディレクトリに存在します。
これは私のテストコードです:
node.js - proxyquire によるスタブ
次のモジュールをproxyquireとsinonでスタブするにはどうすればよいですか:
次のことを行いましたが、エラーをトリガーしようとしてsend()
もメールが送信されるため、機能しません。
また、試しました:
これはこれまでの完全なテストであり、失敗します。