問題タブ [dart-mock]

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 投票する
4 に答える
4808 参照

mocking - Dart を使用した HTTP レスポンスのモック

私は新しい API ラッパーに取り組んでおり、単体テストを実行するたびに API を呼び出したくありません。hereで説明されているように、私はそれを嘲笑しています。

私は最初、私がそれを嘲笑している方法に何か問題があると思っていましたが、問題は他の場所にあるようです.

私が達成しようとしていることは非常に簡単です。単体テストの実行時に、統合している外部 API から情報を取得するために外出したかのように、値を返したいと考えています。

オプションのパラメーターとして http.Client を使用してクラスを初期化するため、単体テストを実行するときにそれを渡すことができます。

単体テストでは、次のモック クラスを作成しました。

そして、応答を確認するための単体テストでは、次のことを行っています。

ご覧のとおり、 send を呼び出すとmessage401、単なるJSON文字列であるが返されるようにしようとしています。

は文字列であるため、これは発生していません。message401私のコードはそれを Future として使用しようとするため、常にエラーが発生します。

トップレベルのキャッチされないエラー: クラス 'String' にはインスタンス メソッド 'then' がありません。

このエラーが発生する理由は完全に理解していますが、回避する方法がわかりません。

どんな助けでも感謝します。