Мы недавно начали использовать Карате в качестве нашего интегрированного инструмента тестирования в проекте, который мы в настоящее время разрабатываем, и недавно я столкнулся с проблемой, о которой я хотел бы знать, почему это происходит.Давайте пройдем через это:
Одним из тестов, которые мы проводим во всех наших API, является время отклика.Когда мы начали создавать наши тесты, мы создали ряд общих функций, которые будут использоваться для множества различных тестов API.Одной из этих функций является testGetAll.feature, в котором мы отправляем в качестве параметров конечную точку, необязательный список параметров, ключ аутентификации и необязательное время ответа.
Прежде чем мы вызовем службу, у нас есть следующий код:
* def rTime = (__arg.rTime == '#notnull' ? __arg.rTime : MEDIUM_RESPONSE_TIME)
И затем, чтобы проверить работоспособность, я написал следующее:
* print "argRtime : " + __arg.rTime
* print __arg.rTime == '#notnull'
* print "rTime : " + rTime
И в результате я получил: argRtime = 3000 false rTime = 500
Почему это условное ложь, если __arg.rTime не равно нулю?