测试xml的附加断言方法
unittest-xml的Python项目详细描述
这个库是一组帮助器方法,用于使用python的unittest库测试xml。 新的断言方法使用XPath来选择断言所在的xml元素 做的。
示例用法
要使用这些附加断言,只需混合xmltest.XMLAssertions类 进入您的测试课程:
import unittest from xmltest import XMLAssertions class MyTestCase(unittest.TestCase, XMLAssertions): pass
现在假设您要检查以下XML字符串:
response_xml = """<?xml version="1.0" encoding="UTF-8" ?> <Response> <CardTxn> <authcode>060642</authcode> <card_scheme>Switch</card_scheme> <issuer country="UK">HSBC</issuer> </CardTxn> <reference>3000000088888888</reference> <merchantreference>1000001</merchantreference> <mode>LIVE</mode> <reason>ACCEPTED</reason> <status>1</status> <time>1071567305</time> </Response>"""
断言与xpath查询匹配的元素数:
self.assertXPathNodeCount(response_xml, 1, 'CardTxn/issuer[@country="UK"]') self.assertXPathNodeCount(response_xml, 1, 'status')
断言特定元素的值:
self.assertXPathNodeText(response_xml, 'ACCEPTED', 'reason')
断言元素的属性值:
self.assertXPathNodeAttributes(xml, {'country': 'UK'}, 'CardTxn/issuer'}
安装
来自PYPI:
pip install unittest-xml
贡献
要运行测试,请安装nose和mock:
pip install nose mock
并使用:
nosetests