断言字符串匹配pytest

时间:2019-01-04 20:48:47

标签: python regex pytest assert assertion

我正在使用pytest编写测试,以确保传入的时间戳字符串与相应的正则表达式格式匹配。我是通过以下方式完成的。

test_epoch():
    timestamp = "1541811598.802"
    epoch_regex = re.compile(r'^[0-9]+$')
    assert epoch_regex.match(epoch)

但是,运行测试时,出现以下错误:

AssertionError: assert None
+  where None = <built-in method match of re.Pattern object at 0x11ade6480>('1541840398.802')
+    where <built-in method match of re.Pattern object at 0x11ade6480> = re.compile('^[0-9]+$').match

有人知道我哪里出了错,以及如何正确断言与正则表达式匹配的字符串吗?

1 个答案:

答案 0 :(得分:1)

cls是否真的与正则表达式匹配?如果您摆脱了timestamp中的'.',该怎么办?我觉得timestamp会过去。

还要记住,timestamp = "1541811598802"在正则表达式中是一个特殊字符,因此,在修改正则表达式时,请确保对此进行说明(提示,使用转义符)!