【问题标题】:How to pass an argument (e.g. the hostname) to the testrunner如何将参数(例如主机名)传递给测试运行程序
【发布时间】:2014-04-02 08:30:07
【问题描述】:

我正在为 Web 应用程序创建一个基于 unittest 和 Selenium 的测试套件。它可以通过多个主机名访问,例如暗示不同的语言;但当然我希望能够测试例如我的开发实例也无需更改代码(并且无需摆弄 hosts 文件,由于网络安全方面的考虑,我认为该文件不再适合我了)。

因此,我希望能够通过命令行参数指定主机名。

测试运行器自己解析参数,例如用于选择要执行的测试。 处理这种情况的推荐方法是什么?

【问题讨论】:

    标签: selenium python-unittest


    【解决方案1】:

    我最终想出的解决方案是:

    • 有一个用于修复全局数据(包括主机名)的测试模块,并提供我的 TestCase 类(我添加了一个 assertLoadsOk 方法来简单地检查 HTTP 状态代码)。
    • 此模块也进行命令行处理:
      • 它检查自己的选项
      • 并将它们从参数向量中删除 (sys.argv)。
      • 找到“未知”选项时,停止处理选项,并将其余的留给测试运行者。
    • 在初始化我的 TestCase 类之前,命令行处理发生在 import

    它对我很有效......

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      相关资源
      最近更新 更多