Стоит ли делать мок?
От: enji  
Дата: 17.01.12 05:41
Оценка:
Привет!

Есть такая система:
class A
{
  IB ib;
};

interface IB;

class B1 : IB;


Класс B1 написан и протестирован. Теперь надо реализовать и протестировать класс А, который использует IB. Стоит ли создавать BTest, реализующий IB, или же можно воспользоваться готовым B1?

Аргументы за использование B1:
— IB имеет достаточно сложную семантику, которую придется реализовывать в BTest (и отлаживать)
— В рабочем коде A и B1 будут использоваться вместе, возможно при этом проявятся дополнительные ошибки в B1 (не выявленные тестами B1). При использовании B1 для тестов мы имеем еще и интеграционное тестирование A + B1

Аргументы за использование BTest:
— Какие-то особенности A проще протестировать, имея контроль над реализацией IB

Правильно наверное сделать отдельно тесты A+BTest, а затем интеграционные A+B1. Но это сильное дублирование кода, да и просто нет времени так делать.

А вы как считаете?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.