为了测试用户访问,我正在学习单元测试教程。这是我的测试课
class TestTodo(TransactionCase):
def setUp(self, *args, **kwargs):
result = super(TestTodo, self).setUp(*args, **kwargs)
user_demo = self.env.ref('base.user_demo')
self.env = self.env(user = user_demo)
return result
def test_record_rule(self):
"Test per user record rules"
Todo = self.env['todo.task']
task = Todo.sudo().create({'name': 'Admin Task'})
with self.assertRaises(AccessError):
Todo.browse([task.id]).name
当我运行测试时,我得到了这个错误
^{pr2}$我假设这是因为我的数据库中没有demo用户(我用-d
标志创建了这个数据库,而不是通过数据库管理器创建它)。有没有一种方法可以添加演示用户而不必删除和重新创建我的数据库?我尝试使用Odoo中的用户并创建一个名为demo的新用户,但是测试仍然出错。我可以在res_users
表中看到demo用户,它在该表中与res_users
中的demo用户完全相同,这是在我安装了演示数据的数据库中。在
即使您的数据库中有用户设置,也需要确保您的外部id为“base.user_演示“设置。如果已经有用户:
如果您想从新用户开始,还可以按照以下行定义XML记录:
我也有同样的问题,同样的电子书代码。我刚刚删除了数据库并重新运行了odoobin。错误消息消失了。在
相关问题 更多 >
编程相关推荐