Last active
December 17, 2015 19:49
-
-
Save orakaro/5663205 to your computer and use it in GitHub Desktop.
Try to create seperate function init_mock
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class TestModel(unittest.TestCase): | |
def setUp(self): | |
self.order = Order() | |
def init_mock(self): | |
ary = dict() | |
ary["cached_pdf"] = PropertyMock(return_value='StoryTree/tests/fixtures/1.pdf') | |
ary["backcover"] = mock.Mock(return_value=image) | |
ary["frontcover"] = mock.Mock(return_value=image) | |
ary["input_files"] = mock.Mock(return_values=['']) | |
return ary | |
@mock.patch('StoryTree.helpers.generator.pdf.merge_pdf_files') | |
def test_create_final_pdf_file(self, mock_merge_pdf): | |
self.order.order_type = Order.SOFT_COVER | |
mock_cached_pdf, mock_backcover, mock_front_cover, mock_input_files = self.init_mock().values() | |
with nested( | |
mock.patch.object(Order, 'create_input_files', mock_input_files) | |
mock.patch.object(Order, 'cached_pdf_file', mock_cached_pdf), | |
mock.patch.object(Tree, 'create_backcover_image', mock_backcover), | |
mock.patch.object(Tree, 'create_frontcover_image', mock_front_cover)): | |
self.order.create_final_pdf_file('STORYTREE01111') | |
self.assertEqual(1, mock_backcover.call_count) | |
self.assertEqual(1, mock_frontcover.call_count) | |
self.assertEquals(1, mock_input_files.call_count) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ok done, nhưng viết hàm riêng ra là hoàn toàn có thể đúng ko? Và với quan điểm cậu nêu ra trên bài viết về độ dài của 1 hàm trong code, thì trong test code cũng tương tự chứ :Hàm dài thì nên tách ra và các phần mang ý nghĩa khác nhau thì nên là các hàm con khác nhau ?