こんにちはから模擬ユニットテストは、私がテストメソッドは、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をどうやって行うのかということです。
unitofestingにはframwworkを使用していますか? –
サービス層から返された値を比較してテストDBが必要ですか?サービス層がdb層の上にあるとします。 – qxg
https://msdn.microsoft.com/en-us/library/ff650441.aspx –