0

注文を作成するために作成した 2 つのクラスがあります。基本的に、注文を作成するクラスは正常に機能しますが、返される情報を検証するためにアサーションを使用したいと考えています。最初のクラスは、一般的な値で順序を構築し、他のクラスで実際の情報を適用できるように準備します。以下にサンプルを示します。

   public static OrderService Build(int Id, string password)
        {  
            var req = new OrderRequest
                {
                    Start = run,
                    Passsword = password,
                    ID = custId,
                };

            return req;
        }

以下は、通過するサンプル データを使用して結果をテストするクラスのサンプルです。

    [TestCase(12565, "passWord")]
    public static void Case(int custId, string password)
    {
        var create = new Order();

        var req = Order.Build(custId, password);
        if (req == null) return;

        create.Resp = ws.Run(req) as OrderResponse;
        Assert.IsNotNull(create.Resp);
    }

これらのテストは独自に実行され、サービスが何であれ注文されますが、私の問題はアサーションを最初のクラスに実装できることなので、それを実際のテストケースに入れる必要はありません。私は Web サービスからのリクエストとレスポンスを使用しているので、ちょっと面倒です。

ありがとう!

4

1 に答える 1

0

実際に Web サービスを呼び出すのではなく、moqなどのモック フレームワークを使用する必要があります。

データベースや Web サービスなどの外部テクノロジへの呼び出しは、単体テストには含まれません。単体テストは、ビジネス ロジックをテストします。

単体テスト: クラスの内部動作をテストします。通常はメソッド レベルでテストします。これは、他のリソースやシステムに関連しないスタンドアロンのテストである必要があります。

統合テスト: 複数のサブシステムの正しい相互運用をテストします。

于 2013-04-23T14:45:39.357 に答える