Как протестировать функцию Python с помощью Robot Framework?

Я пытаюсь сделать простой тест с Robot Framework, где я тестирую функции Python и смотрю, дают ли они мне желаемые результаты, но я не могу найти никаких хороших задокументированных примеров. Я даю ввод и хочу, чтобы тест прошел, если он соответствует ожидаемому результату, который я определяю. Было бы неплохо, если бы он мог проверить оператор возврата функции. Я знаю, что Robot Framework обычно больше ориентирован на приемочное тестирование, и то, что я делаю, больше связано с модульным тестированием, но похоже, что это все еще должно работать с Robot Framework.

Вот пример кода:

def init(logger_module):

        retVal = 0 # Assuming all goes well.
        #print("module_init - I am in logging module")

        global logging
        logging = logger_module

        initialize_alert_logging()

        #print("The current retVal = {}".format(retVal))
        print(retVal)

        return retVal

Я хочу, чтобы он показывал успех, если retVal равен 0. Прямо сейчас я могу запустить тест, но на самом деле он не проверяет вывод. Я думаю, это просто показывает, что функция действительно работала.

Вот мой файл робота:

*** Settings ***
Library         String
Library         Collections
Library         duplicate_module_simple_logging.py

*** Variables ***
${robotVar}             FooBarBaz
${MY_DATA_TABLE_VALUES_TEMP}            {"foo": "this is foo", "bar": "this is bar"}

*** Test Cases ***
Case1
    init    logger_module

Вот мой файл журнала, показывающий успешный тест:


person pink_floyd668    schedule 13.01.2021    source источник


Ответы (1)


Вам нужно просто присвоить возвращаемое значение init переменной.

Затем используйте эту переменную в Должен быть равен (или другая проверка/тест)

*** Test Cases ***
Case1
    # WHEN
    ${result} =    init    logger_module
    # THEN
    Should Be Equal    ${result}     0  
person Laurent Bristiel    schedule 14.01.2021
comment
Это сработало! Единственное, что мне пришлось изменить, — это использовать ключевое слово «Должны быть равны целым числам», чтобы оно приводило оба числа к целым числам при их сравнении, поскольку я думаю, что по умолчанию переменные считываются как строки. Спасибо! - person pink_floyd668; 14.01.2021