odoo_dev 开发培训作业:图书管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.3KB

  1. from odoo.tests.common import TransactionCase
  2. from odoo.tests.common import HttpCase
  3. from odoo.exceptions import UserError
  4. # 添加一个简单测试用例,创建一本新书并检测active 字段的值是否正确
  5. # 使用–test-enable参数在安装或升级模块时进行测试:-u library_app --test-enable
  6. class TestBook(TransactionCase):
  7. def setUp(self, *args, **kwargs): # 固定的
  8. result = super().setUp(*args, **kwargs) # 固定的
  9. user_admin = self.env.ref('base.user_admin')
  10. self.env = self.env(user=user_admin) # user 属性修改为希望运行测试的用户
  11. self.Book = self.env['library.book'] # 要测试的model名称,这个Book的名字是基于什么来定的
  12. self.book_ode = self.Book.create({ #
  13. 'name': 'Odoo developdfjklajdflkajflkaj',
  14. 'isbn': '9787530220245'
  15. })
  16. return result
  17. def test_create(self):
  18. "Test Books are active by default"
  19. self.assertEqual(self.book_ode.active, True)
  20. # 测试业务逻辑
  21. def test_check_isbn(self):
  22. "Check valid ISBN"
  23. self.assertTrue(self.book_ode._check_isbn())
  24. def test_button_check_isbn(self):
  25. "Button Check ISBN"
  26. self.assertTrue(self.book_ode.button_check_isbn())
  27. #覆盖check
  28. def test_isbn_invalid(self):
  29. "Button Check ISBN IF 1"
  30. self.book_ode.isbn = '1'
  31. with self.assertRaises(UserError):
  32. self.assertRaises(self.book_ode.button_check_isbn())
  33. def test_isbn_blank(self):
  34. "Button Check ISBN IF 2"
  35. self.book_ode.isbn = ''
  36. with self.assertRaises(UserError):
  37. self.assertRaises(self.book_ode.button_check_isbn())
  38. # 测试安全权限
  39. # def setUp(self, *args, **kwargs):
  40. # result = super().setUp(*args, **kwargs)
  41. # user_admin = self.env.ref('base.user_admin')
  42. # self.env = self.env(user=user_admin) # user 属性修改为希望运行测试的用户
  43. # self.Book = self.env['library.book']
  44. # self.book_ode = self.Book.create({
  45. # 'name': 'Odoo developdfjklajdflkajflkaj',
  46. # 'isbn': '9787530220245'
  47. # })
  48. # return result
  49. # 测试网页
  50. class Test_SurveyCase(HttpCase):
  51. def test_access_page(self):
  52. self.authenticate("admin", "1")
  53. return self.url_open('/library/books')
上海开阖软件有限公司 沪ICP备12045867号-1