は、私は、このメソッドをテストしたい:pickle.dump()を正しく呼び出していることをどのようにテストするのですか?
class Data(object):
def save(self, filename=''):
if filename:
self.filename = filename
if not self.filename:
raise ValueError('Please provide a path to save to')
with open(self.filename, 'w') as f:
pickle.dump(self, f)
私はpickle.dump
が呼び出されることを確認するテストを設定することができ、そして最初の引数がオブジェクトであること:私はよく分からない
@patch('pickle.dump')
def test_pickle_called(self, dump):
self.data.save('foo.pkl')
self.assertTrue(dump.called)
self.assertEquals(self.data, dump.call_args[0][0])
しかし、第二の議論のために何をすべきか。テストのために新しいファイルを開くと、実行のために呼び出されるものと同じになることはありません。私は少なくとも私が正しいファイルを開いていることを確認したいと思います。私はちょうどopen
を嘲笑して、ある時点で正しい名前で呼び出されることを確認しますか?
私は実際にこれがテストの価値はなかった考えていた、そして私はとにかく私ができる限りをして、2個のバグを見つけた.... – JETM