我有Dockerfile
试图调用Robot Framework测试运行器。我将所需的命令行参数(例如,testcases,testsuit,包含的标记,排除的标记等)作为环境变量传递给Dockerfile
。有时我的命令行参数包含空格。例如,将我的测试用例视为Define Something
,将testuite视为MyWebsite
。如果我将环境设置为 TESTCASE ='定义赞助商' 和 TESTSUITE = MyWebsite ,我将从Robot Framework测试运行器中收到此错误:
[ ERROR ] Suite 'Scenarios' contains no tests named ''Define or Something'' in suite 'MyWebsite'.
我尝试了多种方法来传递我的环境:
使用env文件:
docker run --env-file test/test.env
test/test.env
包含的位置:
TESTSUITE="MyWebsite"
TESTCASE="Define Sponsor"
在shell中设置它们:
TESTSUITE="MyWebsite"
TESTCASE="Define Sponsor"
在Dockerfile
:
ENV TESTSUITE="MyWebsite"
ENV TESTCASE="Define Sponsor"
所有人都回复了提到的错误。
答案 0 :(得分:3)
这里的错误很明显,尤其是这一部分:contains no tests named ''Define or Something''
注意Define OR Something
。 CLI使用空格作为分隔符,因此它认为您正在尝试选择测试用例Define
和Something
。相反,键入Define_Something
和Robot Framework将正确地将下划线转换为空格,但在CLI和它的分隔符进行评估后,应该正确选择您的测试用例,Define Something
记录在案here
可能的下划线用空格替换,完全小写的名称是标题。例如,some_tests.html变为Some Tests,My_test_directory变为My test directory。