私はパラメータを模擬して追加しようとしていますが、どこが間違っているのか分かりません。Pythonユニットテストライブラリ - ParseError:文字列を期待する<MagicMock name = 'ClassPage.json.get()'
これは、これは私がパッチだテスト私は基本的に異なる値(NOメソッド)を有するClassPageと呼ばれるクラスを有している表す「のklass」を模擬しようとしている方法
class GrapheneHelper():
@staticmethod
def convert_time_field(klass, field, default=None):
time = GrapheneHelper.get_json_field(klass, field, default)
if time is None:
return None
else:
return iso8601.parse_date(time)
ありますClassPage:
@patch('gql.pages.content_page.ClassPage')
def test_convert_time_field(self, mock_klass):
""" Return YYYY-MM-DDTHH:MM:FF in iso8601 format """
mock_klass.json = {'time_field': '2017-09-18T23:09:33'}
expected_time = iso8601.parse_date('2017-09-18 23:09:33')
self.assertEqual(GrapheneHelper.convert_time_field(mock_klass, field='time_field', default=None), 'expected_time')
私が取得エラー:ParseError: Expecting a string <MagicMock name='ClassPage.json.get()' id='4644743312'>
私は本当に近くだように私は感じて、私はwronだかを把握することができていませんg。私はMagicMockを試したことがあります。文書や、ブログを読んだりすることはありません。任意のアドバイスあなたが与えられたものに基づいて
TY - あなたは私のエラーの内容を理解する助けになります。ほんとうにありがとう! –
また、期待された時間に '' iso8601.parse'''を追加しました。 '' 'expected_time = iso8601.parse_date( '2017-09-18 23:09:33')' '' - 私は変更に私の質問を更新しました –