Как вы запускаете тестовые тесты OpenERP yaml?
Я пытаюсь запустить модульные тесты на моем модуле 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.
Спасибо за ответы и помощь!
Ответы
Ответ 1
Это то, что я пробовал. Мне кажется, это работает для меня:
!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
Надеюсь, это поможет вам
UPDATE: Вот мои журналы (я назвал свой тестовый файл 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!
Ответ 2
Посмотрите на документы (например здесь и здесь), я не вижу ничего плохого в вашем коде.
Однако я не знаком с --log-level=test
. Возможно, попробуйте запустить его с помощью флагов -v
, --debug
или --log-level=debug
вместо --log-level=test
? Вам также может потребоваться использовать прописные варианты для аргумента --log-level
, т.е. --log-level=debug
.
test
, конечно, не является стандартным протоколом уровня ведения журнала, и, хотя я не могу исключить возможность добавления настраиваемого уровня ведения журнала, я не думаю, что это дело.
Также может быть полезно удалить строку obj = self.browse(cr, uid, ref("HP001"))
, на всякий случай.
Ответ 3
Попробуйте ввести следующий путь на своем терминале при запуске вашего сервера.
./openerp-server --addons-path=<..Path>...
- тест-включить
: Включить тесты YAML и unit.
./openerp-server --addons-path=<..Path>...
- тест фиксации
: Заменить изменения базы данных, выполненные с помощью тестов YAML или XML.
Ответ 4
Попробуйте это в своем терминале, он будет работать.
./openerp-server --addons-path=<..Path> --log-level=test --test-enable
Надеюсь, это поможет вам.