datetime.now()
いくつかのロジックをテストするための結果を置き換えるために、モックライブラリを使用したいと思います。だから私は今使っていてmocker
、それはうまくいきます、しかし私はいくつかの問題、おそらくバグを持っていたので、私はもっと更新されたものに移りたいです。グーグルはそう使うことを提案しますfudge
...私はそれをあざけることができませんdatetime.now()
from one import ClassName
def test_fudge():
import fudge
@fudge.patch('datetime.datetime.now')
def a(dtn):
dtn.expects_call().returns(1)
print 'fudge:', 'yep' if ClassName().one() == 1 else 'nope'
a()
test_fudge()
one.pyファイル:
from datetime import datetime, timedelta
class ClassName(object):
def one(self):
return datetime.now()
結果:fudge: nope
何か案は?
モッカーの例:
import mocker
from one import ClassName
m = mocker.Mocker()
n = m.replace('datetime.datetime')
n.now()
m.result(123)
with m:
print ClassName().one()
one.pyは同じです。結果:123