我构建了一个docker映像并尝试运行pytest,出现以下错误: docker运行docker-whale
=============================测试会话开始================ =============== 平台linux2-Python 2.7.16,pytest-4.4.0,py-1.8.0,pluggy-0.9.0 rootdir:/ app ========================== 0.00秒内未进行任何测试==================== ====== 错误:找不到文件:--env预览
我的dockerFile:
CMD ["pytest" , "--env preview" , "fe/tests/US/MyCom/MyPageTests/" , "-m preview"]
这是由于docker“ env”变量和我的pytest“ env”环境变量之间的冲突而发生的吗?如果是这样,解决方法是什么?
如果我将ssh插入docker容器并运行它,则该命令可以正常工作。
答案 0 :(得分:0)
您使用的CMD形式接受参数列表,并按照给定的方式传递参数。
您已将--env
和preview
合并为pytest无法理解的单个参数--env preview
。
像这样将它们分开:
CMD ["pytest", "--env", "preview" , "fe/tests/US/MyCom/MyPageTests/", "-m", "preview"]
通常,如果您在外壳中输入以下命令:
pytest --env preview fe/tests/US/MyCom/MyPageTests/ -m preview
shell将命令行分隔成空格,并在argv的元素中提供每个空格。
但是对于CMD,没有shell创建参数列表。只有泊坞窗,它正按照您说的去做。