说我有正则表达式
REGEX = re.compile('.*foo{')
你如何编写一个与python 2.4匹配的字符串集的单元测试?
我知道在python 2.7中我可以使用assertRegexMatches,遗憾的是这在2.4中不起作用:/
我在其余测试中使用self.assertEqual。
干杯, 中号
答案 0 :(得分:5)
self.assertTrue(REGEX.match(text))
答案 1 :(得分:2)
如果您想要完全匹配,可以执行以下操作:
assertTrue(REGEX.match(data))
如果你不在乎它匹配的地方那么:
assertTrue(REGEX.search(data))
请记住匹配和搜索之间的difference。此外,如果您如此倾向,您可以继承TestCase
并添加您自己的断言来执行上述操作。
答案 2 :(得分:2)
因为你询问了一组字符串而不是单个字符串
def createMatcher( self, regex ):
def matchCheck( argument ):
self.assertTrue( regex.match( argument ) )
return matchCheck
然后在你的函数中:
map( self.createMatcher( REGEX ), mySetOfStrings )
答案 3 :(得分:1)
为了测试早期的Python版本,我更喜欢使用unittest2
:
http://pypi.python.org/pypi/unittest2/
这是由Michael Foord维护的unittest
的后端,Michael Foord是维护stdlib版本的开发人员。