如何在Python中修复这个简短的测试代码?

时间:2017-04-08 08:40:30

标签: python testing openerp odoo-10

  

我的代码中出现以下错误

2017-04-08 08:36:24,330 1467 INFO demo odoo.modules.module: odoo.addons.todo_app.tests.test_todo running tests.
2017-04-08 08:36:24,331 1467 INFO demo odoo.addons.todo_app.tests.test_todo: test_create (odoo.addons.todo_app.tests.test_todo.TestTodo)
2017-04-08 08:36:24,333 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: ERROR
2017-04-08 08:36:24,334 1467 INFO odoo odoo.addons.todo_app.tests.test_todo: ======================================================================
2017-04-08 08:36:24,334 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: ERROR: test_create (odoo.addons.todo_app.tests.test_todo.TestTodo)
2017-04-08 08:36:24,334 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: Traceback (most recent call last):
2017-04-08 08:36:24,334 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: `   File "/home/odoo/odoo-dev/custom-addons/todo_app/tests/test_todo.py", line 8, in test_create
2017-04-08 08:36:24,334 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: `     Todo = self.env['todo.task']
2017-04-08 08:36:24,334 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: `   File "/home/odoo/odoo-dev/odoo/odoo/api.py", line 752, in __getitem__
2017-04-08 08:36:24,335 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: `     return self.registry[model_name]._browse((), self)
2017-04-08 08:36:24,335 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: `   File "/home/odoo/odoo-dev/odoo/odoo/modules/registry.py", line 170, in __getitem__
2017-04-08 08:36:24,335 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: `     return self.models[model_name]
2017-04-08 08:36:24,335 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: ` KeyError: 'todo.task'
2017-04-08 08:36:24,335 1467 INFO odoo odoo.addons.todo_app.tests.test_todo: Ran 1 test in 0.003s
2017-04-08 08:36:24,335 1467 ERROR odoo odoo.addons.todo_app.tests.test_todo: FAILED
2017-04-08 08:36:24,335 1467 INFO odoo odoo.addons.todo_app.tests.test_todo:  (errors=1)
2017-04-08 08:36:24,336 1467 ERROR odoo odoo.modules.module: Module todo_app: 0 failures, 1 errors
  

以下是我的代码片段

# -*- coding: utf-8 -*
from odoo.tests.common import TransactionCase

class TestTodo(TransactionCase):

  def test_create(self):
    "Create a simple Todo"
    Todo = self.env['todo.task']
    task = Todo.create({'name': 'Test Task'})
    self.assertEqual(task.is_done, False)
  

有人可以解释一下如何解决这个问题吗?非常感谢   祝你有个美好的一天:D第一个问题:)

1 个答案:

答案 0 :(得分:2)

KeyError: 'todo.task'

这意味着你没有在你的dabase中安装todo.task模型 检查数据库中是否有表名todo_task。

你错过的一件事可能是你没有在__init__.py导入模型,这就是为什么odoo没有安装它。