15

我正在尝试在我的 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

4 回答 4

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!
于 2013-02-04T15:18:33.780 回答
4

查看文档(例如此处此处),我看不出您的代码有任何明显错误。

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

test当然不是标准 Python日志记录模块日志记录级别之一,虽然我不能排除他们添加自定义日志级别的可能性,但我认为情况并非如此。

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

于 2013-02-04T10:42:36.663 回答
3

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

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

:启用 YAML 和单元测试。

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

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

于 2013-02-04T12:43:12.937 回答
2

在你的终端上试试这个,它会起作用。

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

希望这会帮助你。

于 2013-02-04T13:22:45.433 回答