URLSession完全コールバックのシグネチャに適合するメソッドで自分のクラスを定義しました。 g。 (Data?, Response?, Error?) -> Void
。 このメソッドには、応答を処理するための共通のロジックが含まれています。 g。データのチェック、解析など このメソッドを単体テストしたいと思います。メソッドには、例えば、URLSessionコンプリータのユニットテストラッパー
guard let data = data else {
//some logic
return
}
のような検証が含まれています。この関数は実際に終了することをテストしたいと思います。もちろん、ボイドリターンに対してそれを達成することはできません(おそらく、私は何かを逃したと思います)。 別のオプション - メソッドをthrows
とマークし、特定のエラーをテストします。しかし、この方法はURLSession.shared.dataTask
メソッドに収まりません。 私はこれらのことについて妄想していますか?それを達成する可能性はありますか? ありがとうございます。
お返事ありがとうございます。しかし、私はそれが私が求めているものではないと思う。私は論理的な部分への要求の流れも分けました。また、パーツの一部が失敗した場合(例えば、間違ったHTTPコード、解析できない無効なレスポンスなど)、リクエストコンプリータが終了するかどうかをテストする必要があります。フローが何か間違っていると停止しない場合、私は実行時エラーを得ることができます。ありがとう。 – Yura