1. ホーム
  2. terminology

[解決済み] プログラミングにおける「to stub」の意味とは?

2022-05-10 22:56:36

質問

例えば、この引用文にはどのような意味があるのでしょうか?

<ブロッククオート

最近のWebアプリでは、外部APIとの連携はほぼ確実です。そのような統合を効果的にテストするためには、次のようなことが必要です。 スタブ を出す。良い スタブ は簡単に作成でき、実際の最新のAPIレスポンスで一貫して最新でなければならない。この記事では スタブ を外部APIで使用することができます。

解決方法は?

スタブというのは 既存の依存関係 (または協力者) を使用します。スタブを使用することで、コードをテストする際に 依存関係を直接処理する。

外部依存 - 既存の依存関係。

システム内にあるオブジェクトで、コードに含まれる と相互作用するものであり、あなたがコントロールできないものです。(一般的な 例としては、ファイルシステム、スレッド、メモリ、時間などです)。

例えば、以下のようなコードです。

public void Analyze(string filename)
    {
        if(filename.Length<8)
        {
            try
            {
                errorService.LogError("long file entered named:" + filename);
            }
            catch (Exception e)
            {
                mailService.SendEMail("[email protected]", "ErrorOnWebService", "someerror");
            }
        }
    }

をテストしたい。 mailService.SendEMail() メソッドをシミュレートする必要があります。 例外 をテストメソッド内に作成する必要があります。 エラーサービス オブジェクトを作成して結果をシミュレートすれば、 テストコードで mailService.SendEMail() メソッドを使用します。ご覧の通り、あなたは別の依存関係である ErrorService クラスオブジェクト(既存のDependencyオブジェクト)です。