【发布时间】:2017-09-20 06:05:15
【问题描述】:
我有一个 Dockerfile 正在尝试调用 Robot Framework 测试运行程序。我将所需的命令行参数(例如测试用例、测试套件、包含的标签、排除的标签等)作为环境变量传递给 Dockerfile。有时我的命令行参数包含空格。例如,假设我的测试用例是Define Something,我的测试套件是MyWebsite。如果我将环境设置为 TESTCASE='Define Sponsor' 和 TESTSUITE=MyWebsite,我会从 Robot Framework 测试运行程序中收到此错误:
[ ERROR ] Suite 'Scenarios' contains no tests named ''Define or Something'' in suite 'MyWebsite'.
我尝试了多种方法来传递我的环境:
-
使用环境文件:
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"
他们都返回了提到的错误。
【问题讨论】:
-
你试过
TESTCASE="DefineSponsor"或TESTCASE="Define_Sponsor"吗?要进行更多诊断,我认为我们需要看看您实际上是如何调用机器人的。 -
@BryanOakley,是的;我试过
TESTCASE="DefineSponsor"。它工作得很好。