整理: CoreMock
を MockCoreWrapper
で置き換え
#1434
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
内容
概要:
CoreMock
をMockCoreWrapper
とpytest-mock
で置き換えてリファクタリングCoreMock
はテスト専用の Core ライクなクラスである。モックであり意味のある音を出力しないが、snapshot 用に引数を反映した適当値を出力する。これらメソッドはテストのためにunittest.mock.Mock
を使って定義されている。コアに関する様々なリファクタリングの結果、
CoreMock
のメソッド出力はMockCoreWrapper
と同一になっている。差はunittest.mock.Mock
の利用であり、このためだけに同じメソッド処理が二重で定義されている。pytest-mock
は Python 標準ライブラリのモック系(例:unittest.mock.Mock
)を pytest 用にラップした軽量ライブラリである。これを用いれば既存クラス(例:MockCoreWrapper
)を簡単に mock や spy できる。ENGINE で
pytest-mock
を導入すればCoreMock
をMockCoreWrapper
+pytest-mock
で代替でき、重複定義を削除できる。このような背景から、
CoreMock
をMockCoreWrapper
とpytest-mock
で置き換えるリファクタリングを提案します。関連 Issue
無し