Цитата:
Сообщение от
AlexSD
Просветите, а что не так с этими параметрами, у которых есть значения заданные по умолчанию? Unit-test для таких методов как-то должен существенно отличаться от методов с параметрами, у которых нет значений по умолчанию?
для начала:
например, сколько тестирующих методов должно быть для метода с дефолтными параметрами?
= один тестирующий с несколькими ассертами?
= столько тестирующих, сколько различных комбинаций параметров для того, чтобы покрыть все значимые комбинации параметров? причем в каждом тестирующем методе должен быть только один ассерт?
= какое-то "достаточное" число test-методов? каков критерий достаточности?
если тестирующий метод один, в котором тестируемый метод вызывается в цикле, то существует ли какой-нибудь общепринятный прием для генерации всех значимых для теста комбинаций параметров или надо явно задавать и все входящие, и все ожидаемые значения?
в методе, который я привел в первом сообщении этой ветки, 8 параметров, для которых существенно "нулевое" значение в них или "ненулевое".
создавать руками 2^8 = 256 тестирующих методов? нет? а каков критерий что "вот столько" достаточно?
X++:
boolean findDisc(PriceType _relation,
InventDimId _inventDimId,
TableGroupAll _itemCode = 0,
ItemId _itemRel = '',
TableGroupAll _accountCode = 0,
CustVendAC _accountRel = '',
UnitOfMeasureSymbol _unitID = '',
Qty _quantityAmount = 0,
// <GEERU>
CurrencyCode _currency = CompanyInfo::standardCurrency(),
AgreementHeaderExtRecId_RU _agreementHeaderExtRecId = 0,
CustVendAC _agreementPartnerCode = '')
// </GEERU>
{