pytest - 模拟过程和时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest - 模拟过程和时间相关的知识,希望对你有一定的参考价值。
我有以下方法来测试正确的日志格式。
@patch('sys.stderr', new_callable=StringIO)
@mock.patch('socket.gethostname', return_value='testing')
def test_logging(self, gethostname_function, mock_stderr):
logger = logging.getLogger('project.logging')
app_logging.init_logging()
logger.info('testing mesage')
assert mock_stderr.getvalue() == '{"message": "testing mesage", "levelname": "INFO", "process": 37284, "asctime": "2018-03-01 13:23:33,968", "hostname": "testing"}
'
格式化程序看起来像这样:
(message) (levelname) (process) (asctime)
我如何模拟日期时间和进程ID?谢谢
答案
好,
@patch('time.time', mock_time)
@patch('os.getpid', mock_os_pid)
是解决方案。对不起,浪费你的时间:)
以上是关于pytest - 模拟过程和时间的主要内容,如果未能解决你的问题,请参考以下文章
模拟或避免 pytest 的 cognito 身份验证和组权限