Процесс тестирования платформы роботов

Можно ли потребовать выполнения определенного тестового примера перед выполнением текущего тестового примера?

Мои тестовые случаи организованы в несколько папок, и возможно, что тест требует выполнения другого теста, помещенного в другую папку (см. изображение ниже).

введите здесь описание изображения

Какие-либо предложения?


person Marco Barrella    schedule 08.03.2015    source источник


Ответы (2)


Это не хороший/рекомендуемый/возможный путь.

Платформа Robot не поддерживает его, и на то есть веская причина. Нецелесообразно создавать такие зависимости в долгосрочной (или даже краткосрочной) перспективе.

Тесты не должны зависеть от других тестов. В основном не на других тестах из другого набора. Что делать, если другой пакет не был запущен?

Вы можете обойти проблему двумя способами:

Вы можете определить файл с именем

__init__.robot 

В каталоге. Эта установка пакета и удаление пакета в файле будут выполняться раньше, чем что-либо в базовых папках.

Вы также можете превратить другой тест в ключевое слово, чтобы:

Тест C просто вызывает ключевое слово, которое запускает тест C, а также обновляет глобальную переменную (Test_C_already_runs).

Тест B будет использовать, а затем выдать

run if  '${Test_C_already_runs}'=='true'  Test_C_Keyword

В любом случае вам нужно было бы установить значение Test_C_already_runs до этого (как часть импорта переменной или как часть некоторого набора_настройки), чтобы предотвратить ошибку «переменная не найдена».

person Uri Shtand    schedule 09.03.2015

Вы ничего не можете сделать, если тестовые примеры находятся в разных файлах, за исключением реорганизации ваших тестов.

Вы можете управлять порядком запуска наборов и порядком тестов внутри файла, но вы не можете управлять порядком тестов между файлами.

Лучшие практики предполагают, что тесты должны быть независимыми и не зависеть от других тестов. На практике это может быть сложно, но, по крайней мере, вы должны стремиться сделать наборы тестов независимыми друг от друга.

person Bryan Oakley    schedule 08.03.2015