我不知道如何在单元测试的类中模拟/修补方法。我考虑以下解决方法:
class A():
def _get_datetime(self,days):
return (datetime.now() + timedelta(days=days)).strftime('%Y-%m-%d')
def do_something(self):
date = self._get_datetime()
现在我在单元测试中有以下TestClass:
class TestClass():
def test_one:
# do some things here
next_day = (datetime.now()).date()+relativedelta(days=+1)
self._test_a(self._mocked_get_datetime(next_day))
@patch('path.to.my.class.A','_get_datetime')
def _test_a(self,mock_method):
self.env['A'].do_something()
def _mocked_get_datetime(self,date):
return date
如何模拟A类中的_get_datetime()
方法?
我想在测试环境中的A类的do_something()
方法中定义使用的日期。有可能吗?
谢谢!!