断言日期时间问题
assertion of date time issue
我正在对此进行 pytest,我看到中间有一个 T 导致我出现问题,这是类型问题,我已将其更改为日期时间,因为它的类型仍然存在此问题。
assert model_setup.start_model_duration == start_model_duration
E AssertionError: assert datetime.datetime(2019, 6, 2, 15, 4, 5) == '2019-06-02T15:04:05'
E +datetime.datetime(2019, 6, 2, 15, 4, 5)
E -'2019-06-02T15:04:05'
所以后来我将这两个作为字符串,但中间的 T 仍然导致问题
assert str(model_setup.start_model_duration) == str(start_model_duration)
E AssertionError: assert '2019-06-02 15:04:05' == '2019-06-02T15:04:05'
E - 2019-06-02T15:04:05
E ? ^
E + 2019-06-02 15:04:05
E ? ^
您看到的是异构格式:
>>> dt = datetime.datetime(2019, 6, 2, 15, 4, 5)
>>> dt.isoformat()
'2019-06-02T15:04:05'
因此您可以使用其中之一:
# convert the datetime to a string
assert model_setup.start_model_duration.isoformat() == start_model_duration
# convert the string to a datetime
assert model_setup.start_model_duration == datetime.fromisoformat(start_model_duration)
我正在对此进行 pytest,我看到中间有一个 T 导致我出现问题,这是类型问题,我已将其更改为日期时间,因为它的类型仍然存在此问题。
assert model_setup.start_model_duration == start_model_duration
E AssertionError: assert datetime.datetime(2019, 6, 2, 15, 4, 5) == '2019-06-02T15:04:05'
E +datetime.datetime(2019, 6, 2, 15, 4, 5)
E -'2019-06-02T15:04:05'
所以后来我将这两个作为字符串,但中间的 T 仍然导致问题
assert str(model_setup.start_model_duration) == str(start_model_duration)
E AssertionError: assert '2019-06-02 15:04:05' == '2019-06-02T15:04:05'
E - 2019-06-02T15:04:05
E ? ^
E + 2019-06-02 15:04:05
E ? ^
您看到的是异构格式:
>>> dt = datetime.datetime(2019, 6, 2, 15, 4, 5)
>>> dt.isoformat()
'2019-06-02T15:04:05'
因此您可以使用其中之一:
# convert the datetime to a string
assert model_setup.start_model_duration.isoformat() == start_model_duration
# convert the string to a datetime
assert model_setup.start_model_duration == datetime.fromisoformat(start_model_duration)