Мой фрагмент кода, на котором я выполняю модульное тестирование, выглядит примерно так:
if(((State !=TCPIP_IPADDR_STATE_ASSIGNED)&& (State !=TCPIP_IPADDR_STATE_ONHOLD) && (State !=TCPIP_IPADDR_STATE_UNASSIGNED)) ||(SoConId==DOIP_INVALID_16))
{
}
И мой тестовый блок включает в себя следующее:
`DoIP_LocalIpAddrAssignmentChg(12,0xFF);`
Где DoIP_LocalIpAddrAssignmentChg - это функция имя, в котором находится if и 0xFF для недопустимого состояния, которое явно не равно всем 3: TCPIP_IPADDR_STATE_ASSIGNED , TCPIP_IPADDR_STATE_ONHOLD , TCPIP_IPADDR_STATE_UNASSIGNED . Значение SoConId равно 12 . Значение DOIP_INVALID_16 = 0xFF .
Поэтому, когда я проверяю свой отчет о модульном тестировании, он дает такой результат: Мой вопрос - почему он не покрывает условие для TCPIP_IPADDR_STATE_UNASSIGNED в качестве значения для состояния, которое я передаю, составляет 0xFF , что является недопустимым значением.