Robotframework: Suite не содержит тестов в комплекте - PullRequest
0 голосов
/ 23 января 2019

Я борюсь с опцией -s --suite. Когда я запускаю все свои файлы тестовых примеров, например: robot ., все в порядке (т. Е. Говорит роботу запускать все файлы тестовых примеров в текущей папке, . для текущей папки). Или, если я хочу запустить конкретный файл Test Case, скажем, robot mytest.robot, тоже работает нормально.

Однако недавно я создал файл инициализации. Этот выполняется при запуске robot . (потому что он хранится в этом каталоге), но, естественно, не при запуске robot mytest.robot. Пока все ясно.

Я думал, что простое решение - запустить robot -s mytest.robot . Однако я получаю сообщение об ошибке: Suite 'BDD' contains no tests in suite 'mytest.robot'. Что не так, потому что, как я уже упоминал выше, при запуске его как robot mytest.robot из той же директории, все в порядке, тестовые случаи в этом файле обрабатываются. Более того, я получаю то же самое, даже если я запускаю robot -s non_existent_test_case_file.robot . >>> Suite 'BDD' contains no tests in suite 'non_existent_test_case_file.robot'., что должно как бы доказать, что проблема не в том, что у моего mytest.robot нет заданных тестов = сообщение об ошибке просто неверно .

Использование: Robot Framework 3.1 (Python 3.6.6 on linux)

Есть подсказки?

добавление дополнительной информации

Я создал новую папку "temp", куда я переместил мои файлы __init__.robot и mytest.robot. Я отредактировал их , чтобы они были максимально простыми.

__init__.robot

*** Settings ***

Suite Setup     RobotSetup
Suite Teardown  RobotTeardown

*** Keywords ***

RobotSetup
    Log To Console    robot init setup

RobotTeardown
    Log To Console    robot init teardown

mytest.robot

*** Test Cases ***

MyBestTestCase
    Log To Console     hello world

РЕЗУЛЬТАТЫ:

[/vagrant/test/bdd/temp]$ ll
total 8
-rwxrwxrwx. 1 vagrant vagrant 213 Jan 23 10:44 __init__.robot
-rwxrwxrwx. 1 vagrant vagrant  74 Jan 23 10:44 mytest.robot

[/vagrant/test/bdd/temp]$ robot .
==============================================================================
Temp
==============================================================================
robot init setup
Temp.Mytest
==============================================================================
MyBestTestCase                                                        hello world
MyBestTestCase                                                        | PASS |
------------------------------------------------------------------------------
Temp.Mytest                                                           | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
robot init teardown
Temp                                                                  | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed

... И

[/vagrant/test/bdd/temp]$ robot -s mytest.robot .
[ ERROR ] Suite 'Temp' contains no tests in suite 'mytest.robot'.

1 Ответ

0 голосов
/ 23 января 2019

Проблема в том, что вы говорите роботу запустить набор «робот» из набора «mytest», и он не может найти набор с именем «робот».Поскольку он не может найти набор с именем «robot», то он, безусловно, не может найти никаких тестов в наборе с именем «robot».

Когда вы используете --suite, вы не присваиваете ему имена файлов, вы должны давать ему имена наборов тестов.В вашем случае вы запускаете робота с robot -s mytest ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...