你如何运行OpenERP yaml单元测试

时间:2013-01-22 12:49:35

标签: unit-testing openerp yaml openerp-8

我正在尝试在我的openERP模块上运行单元测试,但无论我写什么,它都不会显示测试是否通过!有谁知道如何输出测试结果? (使用Windows OpenERP 6.1版)

我的YAML测试是:

- 
  I test the tests
-
  !python {model: mymodelname}: |
    assert False, "Testing False!"
    assert True, "Testing True!"

我重新加载模块时的输出 openerp-server.exe --update mymodule --log-level = test -dtestdb 显示测试已运行但没有错误?!

... TEST testdb openerp.tools.yaml_import: I test the tests

我做错了什么?

编辑:------------------------------------------ ---------------------------

好吧,经过多次摆弄!python,我尝试了另一个测试:

- 
    I test that the state
-
!assert {model: mymodel, id: mymodel_id}:
    - state == 'badstate'

这导致了预期的失败:

WARNING demo_61 openerp.tools.yaml_import: Assertion "NONAME" FAILED
test: state == 'badstate'
values: ! active == badstate

所以我猜我的语法有问题,可能会在版本7中按预期工作。

感谢大家的回答和帮助!

4 个答案:

答案 0 :(得分:9)

这是我尝试过的。它似乎对我有用:

!python {model: sale.order}: |
    assert True, "Testing True!"
    assert False, "Testing False!"

(也许你忘了“|”字符)

然后:

bin/start_openerp --init=your_module_to_test -d your_testing_database --test-file=/absolute/path/to/your/testing_file.yml

您可能希望在以下之前创建测试数据库:

createdb mytestdb --encoding = unicode

希望它可以帮到你

更新:这是我的日志(我称我的测试文件为sale_order_line_test.yml)

ERROR mytestdb openerp.tools.yaml_import: AssertionError in Python code : Testing False!
mytestdb openerp.modules.loading: At least one test failed when loading the modules.
loading test file /path/to/module/test/sale_order_line_test.yml
AssertionError in Python code : Testing False!

答案 1 :(得分:4)

查看文档(例如herehere),我看不到任何明显错误的代码。

但是,我不熟悉--log-level=test。也许尝试使用-v--debug--log-level=debug标志而不是--log-level=test运行它?您可能还需要尝试--log-level参数的大写变体,即--log-level=DEBUG

test肯定不是标准Python logging modulelogging levels之一,虽然我不能排除它们adding a custom log level的可能性,但我不知道我认为就是这样。

尝试删除行obj = self.browse(cr, uid, ref("HP001"))也是值得的,以防万一..

答案 2 :(得分:3)

尝试在启动服务器时在终端上键入以下路径。

  

./openerp-server --addons-path=<..Path>... - 测试启用

:启用YAML和单元测试。

  

./openerp-server --addons-path=<..Path>... - 测试提交

:提交由YAML或XML测试执行的数据库更改。

答案 3 :(得分:2)

在你的终端尝试这个功能。

./openerp-server --addons-path=<..Path> --log-level=test --test-enable

希望这会对你有帮助。