【问题标题】:Nose test suite - passing a command argument鼻子测试套件 - 传递命令参数
【发布时间】:2016-06-03 00:40:33
【问题描述】:

正在尝试将命令参数传递到我的鼻子套装脚本中:

from test_cases.test_quick_search import QuickSearchTest

args = ['-s --tc=url:https://our_dev_environment.co']

def run_suite():
    all_tests = TestLoader().loadTestsFromTestCase(QuickSearchTest)
    suite = LazySuite(all_tests)
    run(args,suite=suite)

if __name__ == '__main__':
    run_suite()

但它似乎没有做任何事情

【问题讨论】:

    标签: python nose


    【解决方案1】:

    QuickSearchTest 是 unittest.TestCase 的子类吗? loadTestsFromTestCase 只会找到 TestCase 子类中的测试。你可以看看all_tests 的内容,看看它是否真的从你的模块/类中加载了任何东西。

    假设run() 是nosetests run,使用suite 会带来相当严重的警告:

    suite:要运行的测试套件或列表(默认值:无)。通过测试套件或测试列表将绕过所有测试发现和加载。另请注意,如果您将 unittest.TestSuite 实例作为套件传递,则不会使用类、模块和包级别的上下文固定装置,并且不会调用许多插件挂钩。如果您想要正常的鼻子行为,请通过测试列表或完全配置的nose.suite.ContextSuite。

    通过自己手动组装和运行测试,您将失去很多鼻子测试实用程序(模块和类级别的设置/拆卸等)。

    run 接受suite 的测试列表,因此您可以在调用时尝试使用suite= all_tests

    或者this SO answer 可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-12
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多