2017-01-25 2 views
0

こんにちはから模擬ユニットテストは、私がテストメソッドは、Visual StudioのすべてのC#の - サービス・クライアント

[TestMethod()] 
public void IsSuccess_ThanAllocateFund() 
{ 
    string FundCode ="CodeABC123"; 
    bool isAvailable = CheckFundAvialable(FundCode); 
    bool result = db.AddFund("UserHaskins",FundCode); 
    Assert.AreEqual(isAvailable, result); 
} 

まずそれがファンドをチェックしているを使用してローカルServiceClientからモックユニットテストしようとしています。ファンドが利用できる場合、それは次のような方法

public bool CheckFundAvialable(FundCode) 
{ 
    bool isAvailable =true; 
    FundAvailableServiceClient _PartAvailabilityService = new FundAvailableServiceClient() 
    int _Available = _FundAvailableService.GetAvailability(FundCode); 
    if (_Available <= 0) { 
    isAvailable = false; 
    } 
    return isAvailable; 
} 

マイServiceClint方法を用いてユーザに資金を追加します

public partial class FundAvailibilityServiceClient : System.ServiceModel.ClientBase<MyProject.IFundAvailibilityService>, 
MyProject.IFundAvailibilityService 
{ 
    public int GetAvailability(string stockCode) 
    { 
     return base.Channel.GetFundAvailibility(FundCode); 
    } 

}

怒鳴る与え、データベースに追加されます。しかし、私は模擬しようとしています

public bool AddFund(string UserName, string FundCode) 
{ 
    // Database add/Insert 
    return true; 
} 

私の問題は、私が単体テストで自分のClientServiceをどうやって行うのかということです。

+1

unitofestingにはframwworkを使用していますか? –

+0

サービス層から返された値を比較してテストDBが必要ですか?サービス層がdb層の上にあるとします。 – qxg

+0

https://msdn.microsoft.com/en-us/library/ff650441.aspx –

答えて

0

VSを使用していると仮定すると、単体テストシナリオでいくつかのオブジェクトが実際に複製するのが難しい単体テストと同様の問題が見つかりました。 https://marketplace.visualstudio.com/items?itemName=OmarElabd.ObjectExporter デバッグ中に使用できるこのツールを使用しようとしましたが、あなたの「自動車」タブに表示されるオブジェクトをすべて取り、AC#またはxmlオブジェクトに送ることができます単体テストに含めること。

+0

こんにちは@TLCONEあなたの問題を解決するためにどのツールを使用しましたか? – user3624511

+0

[link](https://marketplace.visualstudio.com/items?itemName=OmarElabd.ObjectExporter) – TLCONE

+0

残念ながら、それは私のために働いていません。私はVisual Studio Unit Testingに固執する必要があります – user3624511

関連する問題