|
14.03.2017, 01:14 | #1 |
Microsoft Dynamics
|
Просветите, а что не так с этими параметрами, у которых есть значения заданные по умолчанию? Unit-test для таких методов как-то должен существенно отличаться от методов с параметрами, у которых нет значений по умолчанию?
Первая страница гугла не дала мне внятной информации по этому поводу. |
|
14.03.2017, 07:22 | #2 |
Участник
|
Цитата:
ожидается результат - зеленое состояние в панели запуска тестов. А какие варианты бывают еще? 2. ))))) Цитата:
Сообщение от AlexSD
Просветите, а что не так с этими параметрами, у которых есть значения заданные по умолчанию? Unit-test для таких методов как-то должен существенно отличаться от методов с параметрами, у которых нет значений по умолчанию?
Первая страница гугла не дала мне внятной информации по этому поводу. Поэтому такая тема для бухтения и была выбрана. повторюсь, что с удовольствием послушаю и общие аспекты. |
|
|
За это сообщение автора поблагодарили: Ace of Database (1). |
14.03.2017, 07:39 | #3 |
Участник
|
Цитата:
например, сколько тестирующих методов должно быть для метода с дефолтными параметрами? = один тестирующий с несколькими ассертами? = столько тестирующих, сколько различных комбинаций параметров для того, чтобы покрыть все значимые комбинации параметров? причем в каждом тестирующем методе должен быть только один ассерт? = какое-то "достаточное" число 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> { Последний раз редактировалось mazzy; 14.03.2017 в 07:42. |
|