私は Michael Foord のモック ライブラリを使用していますが、それについて質問があります。
プロパティをモックしたいので、これを行います:
eggs = mock.PropertyMock(return_value='eggs')
spam = mock.Mock()
type(spam).eggs = eggs
assert spam.eggs == 'eggs'
これは見事に機能します。しかし、私はそのtype()
部分が醜いので、次のようなことをしたいと思っています:
eggs = mock.PropertyMock(return_value='eggs')
spam = mock.Mock(eggs = eggs)
assert spam.eggs == 'eggs'
最後の例は期待どおりに動作せずspam.eggs
、プロパティではなくメソッドになります。
mock.Mock(eggs = 'eggs')
メソッドではないので使用できることはわかっていますeggs
が、プロパティをアサートできるようにしたいと考えています。:-)
私はPython 2.7を使用していますが、unittest.Mock
うまくいくと思います。