Advertisement
Guest User

Untitled

a guest
Jun 4th, 2020
1,106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.51 KB | None | 0 0
  1. from unittest.mock import Mock
  2. from dataclasses import fields, dataclass
  3.  
  4.  
  5. def create_dataclass_mock(obj):
  6.     return Mock(spec=[field.name for field in fields(obj)])
  7.  
  8.  
  9. @dataclass
  10. class A:
  11.     aaa: str
  12.     bbb: int
  13.  
  14.  
  15. simpleMock = Mock()
  16. specialMock = create_dataclass_mock(A)
  17.  
  18. simpleMock.aaa  # returns a mock (Good)
  19. specialMock.aaa # returns a mock (Good)
  20.  
  21. simpleMock.attribute_that_should_not_exist  # returns a mock (Bad)
  22. specialMock.attribute_that_should_not_exist # raises an exception (Good)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement