Привет У меня есть тестовый метод пытается Mock модульное тестирование с локального ServiceClient с помощью Visual StudioC# - Mock Test Unit От Service Client
[TestMethod()]
public void IsSuccess_ThanAllocateFund()
{
string FundCode ="CodeABC123";
bool isAvailable = CheckFundAvialable(FundCode);
bool result = db.AddFund("UserHaskins",FundCode);
Assert.AreEqual(isAvailable, result);
}
Прежде всего он проверяет фонд. Если фонд доступен, то это добавит фонд пользователя, используя следующий метод
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;
}
Теперь моя проблема заключается в том, как я буду делать Mock для моего ClientService в единичном испытании;
которые вы используете для обрезки? –
Вы хотите проверить db путем сравнения значения, возвращаемого с уровня обслуживания? Я полагаю, что сервисный слой находится поверх слоя db. – qxg
https://msdn.microsoft.com/en-us/library/ff650441.aspx –