本文整理汇总了Python中nose.plugins.xunit.Xunit类的典型用法代码示例。如果您正苦于以下问题:Python Xunit类的具体用法?Python Xunit怎么用?Python Xunit使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Xunit类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestEscaping
class TestEscaping(unittest.TestCase):
def setUp(self):
self.x = Xunit()
def test_all(self):
eq_(self.x._quoteattr(
'''<baz src="http://foo?f=1&b=2" quote="inix hubris 'maximus'?" />'''),
('"<baz src="http://foo?f=1&b=2" '
'quote="inix hubris \'maximus\'?" />"'))
def test_unicode_is_utf8_by_default(self):
if not UNICODE_STRINGS:
eq_(self.x._quoteattr(u'Ivan Krsti\u0107'),
'"Ivan Krsti\xc4\x87"')
def test_unicode_custom_utf16_madness(self):
self.x.encoding = 'utf-16'
utf16 = self.x._quoteattr(u'Ivan Krsti\u0107')[1:-1]
if UNICODE_STRINGS:
# If all internal strings are unicode, then _quoteattr shouldn't
# have changed anything.
eq_(utf16, u'Ivan Krsti\u0107')
else:
# to avoid big/little endian bytes, assert that we can put it back:
eq_(utf16.decode('utf16'), u'Ivan Krsti\u0107')
def test_control_characters(self):
# quoting of \n, \r varies in diff. python versions
n = saxutils.quoteattr('\n')[1:-1]
r = saxutils.quoteattr('\r')[1:-1]
eq_(self.x._quoteattr('foo\n\b\f\r'), '"foo%s??%s"' % (n, r))
eq_(escape_cdata('foo\n\b\f\r'), 'foo\n??\r')
示例2: BaseTestXMLOutputWithXML
class BaseTestXMLOutputWithXML(unittest.TestCase):
def configure(self, args):
parser = optparse.OptionParser()
self.x.add_options(parser, env={})
(options, args) = parser.parse_args(args)
self.x.configure(options, Config())
def setUp(self):
self.xmlfile = os.path.abspath(
os.path.join(os.path.dirname(__file__),
'support', 'xunit.xml'))
self.x = Xunit()
try:
import xml.etree.ElementTree
except ImportError:
self.ET = False
else:
self.ET = xml.etree.ElementTree
def tearDown(self):
os.unlink(self.xmlfile)
def get_xml_report(self):
class DummyStream:
pass
self.x.report(DummyStream())
f = open(self.xmlfile, 'rb')
data = f.read()
f.close()
return data
示例3: run_tests
def run_tests(spider, output_file, settings):
"""
Helper for running test contractors for a spider and output an
XUnit file (for CI)
For using offline input the HTTP cache is enabled
"""
settings.overrides.update({
"HTTPCACHE_ENABLED": True,
"HTTPCACHE_EXPIRATION_SECS": 0,
})
crawler = CrawlerProcess(settings)
contracts = build_component_list(
crawler.settings['SPIDER_CONTRACTS_BASE'],
crawler.settings['SPIDER_CONTRACTS'],
)
xunit = Xunit()
xunit.enabled = True
xunit.configure(AttributeDict(xunit_file=output_file), Config())
xunit.stopTest = lambda *x: None
check = CheckCommand()
check.set_crawler(crawler)
check.settings = settings
check.conman = ContractsManager([load_object(c) for c in contracts])
check.results = xunit
# this are specially crafted requests that run tests as callbacks
requests = check.get_requests(spider)
crawler.install()
crawler.configure()
crawler.crawl(spider, requests)
log.start(loglevel='DEBUG')
# report is called when the crawler finishes, it creates the XUnit file
report = lambda: check.results.report(check.results.error_report_file)
dispatcher.connect(report, signals.engine_stopped)
crawler.start()
示例4: setUp
def setUp(self):
self.xmlfile = os.path.abspath(
os.path.join(os.path.dirname(__file__),
'support', 'xunit.xml'))
self.x = Xunit()
try:
import xml.etree.ElementTree
except ImportError:
self.ET = False
else:
self.ET = xml.etree.ElementTree
示例5: TestEscaping
class TestEscaping(unittest.TestCase):
def setUp(self):
self.x = Xunit()
def test_all(self):
eq_(self.x._xmlsafe(
'''<baz src="http://foo?f=1&b=2" quote="inix hubris 'maximus'?" />'''),
('<baz src="http://foo?f=1&b=2" '
'quote="inix hubris 'maximus'?" />'))
def test_unicode_is_utf8_by_default(self):
eq_(self.x._xmlsafe(u'Ivan Krsti\u0107'),
'Ivan Krsti\xc4\x87')
def test_unicode_custom_utf16_madness(self):
self.x.encoding = 'utf-16'
utf16 = self.x._xmlsafe(u'Ivan Krsti\u0107')
# to avoid big/little endian bytes, assert that we can put it back:
eq_(utf16.decode('utf16'), u'Ivan Krsti\u0107')
示例6: setUp
def setUp(self):
self.xmlfile = os.path.abspath(os.path.join(os.path.dirname(__file__), "support", "xunit.xml"))
parser = optparse.OptionParser()
self.x = Xunit()
self.x.add_options(parser, env={})
(options, args) = parser.parse_args(["--with-xunit", "--xunit-file=%s" % self.xmlfile])
self.x.configure(options, Config())
try:
import xml.etree.ElementTree
except ImportError:
self.ET = False
else:
self.ET = xml.etree.ElementTree
示例7: test_prefix_from_environ
def test_prefix_from_environ(self):
parser = optparse.OptionParser()
x = Xunit()
x.add_options(parser, env={'NOSE_XUNIT_PREFIX_WITH_TESTSUITE_NAME': 'true'})
(options, args) = parser.parse_args([])
eq_(options.xunit_prefix_class, True)
示例8: test_file_from_opt
def test_file_from_opt(self):
parser = optparse.OptionParser()
x = Xunit()
x.add_options(parser, env={})
(options, args) = parser.parse_args(["--xunit-file=blagojevich.xml"])
eq_(options.xunit_file, "blagojevich.xml")
示例9: test_file_from_environ
def test_file_from_environ(self):
parser = optparse.OptionParser()
x = Xunit()
x.add_options(parser, env={'NOSE_XUNIT_FILE': "kangaroo.xml"})
(options, args) = parser.parse_args([])
eq_(options.xunit_file, "kangaroo.xml")
示例10: test_defaults
def test_defaults(self):
parser = optparse.OptionParser()
x = Xunit()
x.add_options(parser, env={})
(options, args) = parser.parse_args([])
eq_(options.xunit_file, "nosetests.xml")
示例11: test_prefix_from_opt
def test_prefix_from_opt(self):
parser = optparse.OptionParser()
x = Xunit()
x.add_options(parser, env={})
(options, args) = parser.parse_args(["--xunit-prefix-with-testsuite-name"])
eq_(options.xunit_prefix_class, True)
示例12: TestXMLOutputWithXML
class TestXMLOutputWithXML(unittest.TestCase):
def setUp(self):
self.xmlfile = os.path.abspath(
os.path.join(os.path.dirname(__file__),
'support', 'xunit.xml'))
parser = optparse.OptionParser()
self.x = Xunit()
self.x.add_options(parser, env={})
(options, args) = parser.parse_args([
"--with-xunit",
"--xunit-file=%s" % self.xmlfile
])
self.x.configure(options, Config())
try:
import xml.etree.ElementTree
except ImportError:
self.ET = False
else:
self.ET = xml.etree.ElementTree
def tearDown(self):
os.unlink(self.xmlfile)
def get_xml_report(self):
class DummyStream:
pass
self.x.report(DummyStream())
f = open(self.xmlfile, 'r')
return f.read()
f.close()
def test_addFailure(self):
test = mktest()
self.x.startTest(test)
try:
raise AssertionError("one is not 'equal' to two")
except AssertionError:
some_err = sys.exc_info()
self.x.addFailure(test, some_err)
result = self.get_xml_report()
print result
if self.ET:
tree = self.ET.fromstring(result)
eq_(tree.attrib['name'], "nosetests")
eq_(tree.attrib['tests'], "1")
eq_(tree.attrib['errors'], "0")
eq_(tree.attrib['failures'], "1")
eq_(tree.attrib['skip'], "0")
tc = tree.find("testcase")
eq_(tc.attrib['classname'], "test_xunit.TC")
eq_(tc.attrib['name'], "test_xunit.TC.runTest")
assert int(tc.attrib['time']) >= 0
err = tc.find("failure")
eq_(err.attrib['type'], "exceptions.AssertionError")
err_lines = err.text.strip().split("\n")
eq_(err_lines[0], 'Traceback (most recent call last):')
eq_(err_lines[-1], 'AssertionError: one is not \'equal\' to two')
eq_(err_lines[-2], ' raise AssertionError("one is not \'equal\' to two")')
else:
# this is a dumb test for 2.4-
assert '<?xml version="1.0" encoding="UTF-8"?>' in result
assert '<testsuite name="nosetests" tests="1" errors="0" failures="1" skip="0">' in result
assert '<testcase classname="test_xunit.TC" name="test_xunit.TC.runTest"' in result
assert '<failure type="exceptions.AssertionError">' in result
assert 'AssertionError: one is not 'equal' to two' in result
assert 'AssertionError("one is not 'equal' to two")' in result
assert '</failure></testcase></testsuite>' in result
def test_addFailure_early(self):
test = mktest()
try:
raise AssertionError("one is not equal to two")
except AssertionError:
some_err = sys.exc_info()
# add failure without startTest, due to custom TestResult munging?
self.x.addFailure(test, some_err)
result = self.get_xml_report()
print result
if self.ET:
tree = self.ET.fromstring(result)
tc = tree.find("testcase")
eq_(tc.attrib['time'], "0")
else:
# this is a dumb test for 2.4-
assert '<?xml version="1.0" encoding="UTF-8"?>' in result
assert ('<testcase classname="test_xunit.TC" '
'name="test_xunit.TC.runTest" time="0">') in result
def test_addError(self):
test = mktest()
#.........这里部分代码省略.........
示例14: TestXMLOutputWithXML
class TestXMLOutputWithXML(unittest.TestCase):
def setUp(self):
self.xmlfile = os.path.abspath(
os.path.join(os.path.dirname(__file__),
'support', 'xunit.xml'))
parser = optparse.OptionParser()
self.x = Xunit()
self.x.add_options(parser, env={})
(options, args) = parser.parse_args([
"--with-xunit",
"--xunit-file=%s" % self.xmlfile
])
self.x.configure(options, Config())
try:
import xml.etree.ElementTree
except ImportError:
self.ET = False
else:
self.ET = xml.etree.ElementTree
def tearDown(self):
os.unlink(self.xmlfile)
def get_xml_report(self):
class DummyStream:
pass
self.x.report(DummyStream())
f = open(self.xmlfile, 'rb')
return f.read()
f.close()
def test_addFailure(self):
test = mktest()
self.x.beforeTest(test)
try:
raise AssertionError("one is not 'equal' to two")
except AssertionError:
some_err = sys.exc_info()
self.x.addFailure(test, some_err)
result = self.get_xml_report()
print result
if self.ET:
tree = self.ET.fromstring(result)
eq_(tree.attrib['name'], "nosetests")
eq_(tree.attrib['tests'], "1")
eq_(tree.attrib['errors'], "0")
eq_(tree.attrib['failures'], "1")
eq_(tree.attrib['skip'], "0")
tc = tree.find("testcase")
eq_(tc.attrib['classname'], "test_xunit.TC")
eq_(tc.attrib['name'], "runTest")
assert time_taken.match(tc.attrib['time']), (
'Expected decimal time: %s' % tc.attrib['time'])
err = tc.find("failure")
eq_(err.attrib['type'], "%s.AssertionError" % (AssertionError.__module__,))
err_lines = err.text.strip().split("\n")
eq_(err_lines[0], 'Traceback (most recent call last):')
eq_(err_lines[-1], 'AssertionError: one is not \'equal\' to two')
eq_(err_lines[-2], ' raise AssertionError("one is not \'equal\' to two")')
else:
# this is a dumb test for 2.4-
assert '<?xml version="1.0" encoding="UTF-8"?>' in result
assert '<testsuite name="nosetests" tests="1" errors="0" failures="1" skip="0">' in result
assert '<testcase classname="test_xunit.TC" name="runTest"' in result
assert '<failure type="exceptions.AssertionError"' in result
assert "AssertionError: one is not 'equal' to two" in result
assert "AssertionError(\"one is not 'equal' to two\")" in result
assert '</failure></testcase></testsuite>' in result
def test_addFailure_early(self):
test = mktest()
try:
raise AssertionError("one is not equal to two")
except AssertionError:
some_err = sys.exc_info()
# add failure without startTest, due to custom TestResult munging?
self.x.addFailure(test, some_err)
result = self.get_xml_report()
print result
if self.ET:
tree = self.ET.fromstring(result)
tc = tree.find("testcase")
assert time_taken.match(tc.attrib['time']), (
'Expected decimal time: %s' % tc.attrib['time'])
else:
# this is a dumb test for 2.4-
assert '<?xml version="1.0" encoding="UTF-8"?>' in result
assert ('<testcase classname="test_xunit.TC" '
'name="runTest" time="0') in result
#.........这里部分代码省略.........