我是单元测试的新手,我想要一些关于这个主题的指导。该函数首先验证datetime是否为字符串,如果是,然后验证它是否为正确的ISO格式。你知道吗
if not isinstance(timestamp,str):
raise ValueError("timestamp must be a string")
try:
datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%S')
return True
except ValueError:
return True
如何确定单元测试中要包含哪些内容以及应该注意哪些内容?你知道吗
关键是提出边缘案件。这在很大程度上依赖于问题域的经验,您在过去看到过哪些处理datetimes的bug。但幸运的是,当您在等待Lyft或其他什么的时候发现并修复bug或者想到一些奇怪的情况时,您总是可以添加更多的单元测试。你知道吗
datetimes有一些特别的东西需要注意,但是请注意,其中很多东西,你首先要决定你想做什么,然后才能测试你是否在做你决定要做的事情。你知道吗
ValueError
。包括bytes
。你知道吗2018-3-06
是有效日期吗?你知道吗2018-03-06 12:13:14
是有效的ISO时间戳,但根据您的规则无效。就这点而言,20180306T12:13:14
和许多其他变体也是如此。你知道吗+
前缀的年份。ISO 8601建议使用0030这样的四位数年份,但也建议允许使用+
和-
前缀(这是处理公元前1年之前年份的唯一方法),并且通常在信息交换合作伙伴的同意下允许使用10010“这样的年份。你知道吗2006-01-01T08:59:60
。你知道吗2018-03-11T02:30:00
在美国大部分地区都不存在相关问题 更多 >
编程相关推荐