Как вы запускаете тестовые тесты OpenERP yaml? - программирование
Подтвердить что ты не робот

Как вы запускаете тестовые тесты 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.

Спасибо за ответы и помощь!

4b9b3361

Ответ 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

Надеюсь, это поможет вам.