生菜试验开始时控制环境的方法

2024-05-12 12:49:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个测试框架,它将有一个由Python/莴苣支持的顶级Gherkin接口。我们希望将其构建到我们的持续集成基础设施(Hudson)中,并使相同的测试能够在任何环境(dev int、qa int、stage等)上轻松运行。由于无法通过命令行将参数传递给测试,所以我一直在考虑的方法是:

Hudson Job

  1. sub-job that dynamically builds a configuration file on machine that will run tests based upon desired test environment
  2. sub-job kicks off lettuce on runner machine, terrain file then picks up values from the dynamic config to run tests against correct environment
  3. sub-job deletes config file

虽然这会起作用,但对我来说,这似乎是一项艰苦的工作。我一直在谷歌上搜索,但似乎连写莴苣的人都认为配置不应该是必要的,如果你想要的话,你应该在测试之外设置环境变量,然后从内部地形读取它们。除了重新设计生菜来传递命令行参数之外,还有人能想出其他方法来实现这个目标吗?在


Tags: 方法run框架configthatenvironmentonjob
1条回答
网友
1楼 · 发布于 2024-05-12 12:49:12

不知道那时候莴苣是什么样的,但有一个world对象{a1}。作者承认这有点像Python,但你可以这样做:

from lettuce import Runner, world

runner = Runner('path/to/tests', verbosity=4)
world.VAR_NAME = VALUE
result = runner.run()

在您的terrain.py文件中,您可以访问世界值,如下所示:

^{pr2}$

这些世界变量在这个测试套件的持续时间内都是可用的,所以请注意您在您的世界中输入的信息量

相关问题 更多 >