powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Правильно ли написан unit test?
2 сообщений из 2, страница 1 из 1
Правильно ли написан unit test?
    #38650794
Perceptron.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня имеется интерфейс и некий класс. Ни класса который реализует интерфейс, ни данных по id клиента и его данным нет
Имеется только следующее

public interface IService
{
double GetData(int clientId);
}

public class ClientInfo
{
private int _clientId;
private IService _svc;
public double MoneySun;

public ClientInfo(int clientId, IService svc)
{
_clientId = clientId;
_svc = svc;
}


public void UpdateMoney()
{
MoneySun = _svc.GetData(_clientId);
}
}

Требуется написать юнит тест для updatemoney
Я написал следующий вариант:

[Test]
public void GetData()
{
Mock<IService> moqSvc = new Mock<IService>();
var сInfo = new ClientInfo(1, moqSvc.Object);
сInfo.UpdateMoney();

Assert.Greater(сInfo.MoneySun, -1);
}

Хотелось бы уточнить насколько это правильный вариант или нет?
...
Рейтинг: 0 / 0
Правильно ли написан unit test?
    #38656531
Фотография Катька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно вопросу уже неделя, но все же отвечу :)

в принципе вас не особо должно волновать как реализована функция базового класса. Того, что имеется вполне достаточно.
Выше дело протестировать UpdateMoney()

если ничего не оговорено в спецификации (например про обработку ошибок внутри GetData), то я б поступила сл.образом:

- дописала бы тело функции GetData для разных id (их вы можете сами выбирать), т.о. чтобы протестировать различные нормальные значения, которые может возвращать GetData внутри диапазона типа double.

например, если id = 1, то GetData вернет 1.0 , если id = 0 , то GetData вернет 0.0 и т.д.

- дополнить базовую функцию GetData так, чтобы она возвращала значения приграничные и граничные значения типа double

- на случай, когда GetData не может вернуть информацию по id (нет такого id): тут конечно есть место для маневра. Можете попробовать вернуть какое-нибудь нормальное значение, например тот же 0.0 или 10.0.

- проверяем, что MoneySun не больше -1, а равно тому значению, которое вы ождидаете получить от GetData в случае конкретного id

- дописать тест, если объект ClientInfo не существует (тут у вас должна быть ошибка)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Правильно ли написан unit test?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]