Bug #438
closedОшибка в сгенерированном отчете о покрытии
0%
Description
Для приведенного в приложении теста неправильно генерируется отчет о достигнутом покрытии (файлы coverage-ERROR.png, error.zip): для spec_B в таблице показаны покрытия, относящиеся к spec_A.
При этом в отчете для spec_B в столбцах coverages и branches прочерки.
Особенность теста в том, что spec_B не вызывается в сценарной функции, а вызывается только в функции инициализации сценария.
Если же отключить режим "отложенных реакций" (убрать #define DEFERRED_REACTIONS_MODE в coverage_error.sec), то отчет генерируется правильно (файлы coverage-OK.png, ok.zip).
Files
Updated by Alexey Demakov about 14 years ago
- Project changed from CTESK to UniTESK Reports
- Target version deleted (
2.8)
Updated by Alexey Demakov about 14 years ago
Трассировка, устанавливающая режим работы тестовой системы с отложенными реакциями:
<scenario_value trace="2" kind="test engine property" type="String" name="Deferred Reactions Enabled"><![CDATA[true]]></scenario_value>
должна находиться до информации о покрытии. Но этот режим устанавливается вызовом функции setDeferredReactionsMode в init-функции сценария, а трассируется после трассировки этой функции. Если в этой функции есть вызовы спецификационных функций, информация об их покрытии собирается в режиме setDeferredReactionsMode(false), что и приводит к ошибкам.
Updated by Alexey Demakov about 14 years ago
- Project changed from UniTESK Reports to CTESK
Updated by Alexey Demakov about 14 years ago
- Status changed from New to Resolved
- Platform deleted (
Linux x86) - Published in build set to 2.8.310
Во всех существующих движках (dfsm, ndfsm, netndfsm) сразу после вызова traceScenarioStart вставлена трассировка
<scenario_value trace="2" kind="test engine property" type="String" name="Deferred Reactions Enabled">...
Чтобы значение этого свойства было правильным, необходимо либо вызвать setDeferredReactionsMode(true) ДО init функции сценария, либо установить поля saveModelState, restoreModelState, isStationaryState в структуре сценария и режим отложенных реакций будет установлен автоматически.
Интересно, а имеет ли смысл установка setDeferredReactionsMode(true) в init-функции сценария? Либо поля saveModelState, restoreModelState, isStationaryState установлены и этот режим установится автоматически, либо сценарий не будет работать.
Updated by Alexey Demakov about 14 years ago
- Status changed from Resolved to Closed