AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2017, 01:14   #1  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Просветите, а что не так с этими параметрами, у которых есть значения заданные по умолчанию? Unit-test для таких методов как-то должен существенно отличаться от методов с параметрами, у которых нет значений по умолчанию?
Первая страница гугла не дала мне внятной информации по этому поводу.
Старый 14.03.2017, 07:22   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ALES Посмотреть сообщение
1. Выясняем, что именно подразумевает Сергей под юнит тестом и какой результат он рассчитывает получить его выполнив
2. Намекаем, что априори все тесты зло и истина где-то рядом с изложенным Дейкстрой
1. Класс, унаследованный от SysTestCase, с методами, которые начинаются на test ))))
ожидается результат - зеленое состояние в панели запуска тестов.
А какие варианты бывают еще?

2. )))))

Цитата:
Сообщение от AlexSD Посмотреть сообщение
Просветите, а что не так с этими параметрами, у которых есть значения заданные по умолчанию? Unit-test для таких методов как-то должен существенно отличаться от методов с параметрами, у которых нет значений по умолчанию?
Первая страница гугла не дала мне внятной информации по этому поводу.
Именно. Гугл как рыба об лед. Вернее выдает кучу всего по другим аспектам юнит-тестирования. Но не применительно к дефолтным параметрам.
Поэтому такая тема для бухтения и была выбрана.

повторюсь, что с удовольствием послушаю и общие аспекты.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Ace of Database (1).
Старый 14.03.2017, 07:39   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от 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>
{
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 14.03.2017 в 07:42.
Теги
unit test, как правильно, тестирование

 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.