有效地运行模块的单个单元测试

Oli*_*der 3 odoo odoo-9

祝大家新年快乐!我想在新的一年里写更多的单元测试,但是如何更轻松地处理呢?我发现在通过命令行参数更新模块时运行--test-enable测试--stop-after-init。我也读过--test-file parameter,但它不起作用。文档中也没有描述此参数。

您将如何进行 TDD(测试驱动开发)?为了做到这一点,您必须能够快速运行测试。需要测试整个模块及其所有依赖项使得频繁编写测试变得不切实际。如何运行单个单元测试用例?

Oli*_*der 5

从“运行单个单元测试用例”编辑了我自己的问题。这个命令对我有用:

python ./odoo.py -i module_to_test --log-level=test -d minimal_database --test-enable --stop-after-init
Run Code Online (Sandbox Code Playgroud)

这与 danidee 的回答非常相似。

然而,解决方案似乎是使用该--test-file参数,因为这会意外地运行所有依赖模块的所有测试并执行其他任何操作,从而使其执行时间过长。

解决方案的另一部分是使用最小的数据库,其中仅安装要测试的模块及其依赖项。

现在,即使测试的代码使用来自依赖模块的对象,上述命令在我的机器上执行也只需要几秒钟。如果我可以阻止模块在运行测试时每次进行更新,以便使其更快、更高效......