根据nosetest's API documentation,有一个LazySuite()
类,它是
class nose.suite.LazySuite(tests=())
A suite that may use a generator as its list of tests
但是,我找不到这个测试生成器应该是什么样子的任何示例。我试着编写一个方法,在将测试用例交给noestest的测试发现时使用,并将其传递给LazySuite
构造函数,如下所示:
然而,这与
^{3}$用来创建LazySuite
类实例的生成器应该是什么样子?在
好吧,我不确定这是否是唯一正确的方法,因为我没有看到它在任何地方被正式记录,但是当涉及到the TestLoader class及其
loadTestsFromGenerator()
方法时,它是有效的。这个方法传递了一个生成器函数,该函数生成我在问题中已经提到的(test_function, other_args, ...)
元组中的一个或多个。在完整示例(打印语句仅用于更容易了解发生的情况):
使用
^{pr2}$nocapture
选项运行此选项(否则打印将被隐藏)将提供:对大量要测试的行执行此操作(例如,从csv读取器而不是嵌套列表中生成这些行)不是很快,但是,它可以保持较低的内存消耗,因为只有一个行外的组合和测试同时加载到内存中。在
编辑:当我为一个非常大的生成器(例如,有数百万行的csv文件)执行脚本时,这仍然在不断地消耗我宝贵的内存。这可能是因为测试结果仍然存储在内部某处,直到所有测试都已运行?在
相关问题 更多 >
编程相关推荐