Я использую Visual Studio 2015, C# и тестирование модуля обучения. Мне нужно написать Unit Test для этого метода TransferFund, чтобы проверить, превышает ли сумма, чем баланс исходного счета. Тем не менее, я не могу правильно настроить Unit Test на нем, и я теряюсь относительно того, как.Единичный тест для перевода средств
Вот мой метод:
public void TransferFund(BankAccount source, BankAccount destination, double amount)
{
this.source = source.Balance;
this.destination = destination.Balance;
double Amount = amount;
if (this.source > Amount)
{
this.source -= Amount;
this.destination += Amount;
}
else
{
throw new ArgumentException("Insufficient funds for transfer.");
}
}
Unit Test:
[TestMethod]
[TestCategory("TransferFunds")]
public void TransferFunds__BalanceHigherThanAmount()
{
}
Поэтому мне нужно написать юнит-тестов, чтобы проверить баланс счета источника выше суммы.
Как я могу вызвать функцию в тесте ... если я попробую назвать класс, в котором он находится, он жалуется, что нет конструктора с 0 аргументами?
Просто вызовите функцию 'TransferFund' здесь и проверьте возвращаемое значение. Функция 'Assert()' очень полезна для этой цели. Вы также можете использовать блок try-catch в методе тестирования, так как ваша оригинальная функция бросает. – dotNET
Как я могу вызвать функцию в тесте ... если я попробую назвать класс его внутри, он жалуется, что нет конструктора с 0 аргументами? Я знаю, как выполнять функцию Assert, я больше ищу детали для нее. – Thisone
См. Мой ответ ниже. – dotNET