本文整理汇总了Python中nose.plugins.xunit.Xunit.configure方法的典型用法代码示例。如果您正苦于以下问题:Python Xunit.configure方法的具体用法?Python Xunit.configure怎么用?Python Xunit.configure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nose.plugins.xunit.Xunit
的用法示例。
在下文中一共展示了Xunit.configure方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run_tests
# 需要导入模块: from nose.plugins.xunit import Xunit [as 别名]
# 或者: from nose.plugins.xunit.Xunit import configure [as 别名]
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()
示例2: TestXMLOutputWithXML
# 需要导入模块: from nose.plugins.xunit import Xunit [as 别名]
# 或者: from nose.plugins.xunit.Xunit import configure [as 别名]
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()
#.........这里部分代码省略.........
示例3: TestXMLOutputWithXML
# 需要导入模块: from nose.plugins.xunit import Xunit [as 别名]
# 或者: from nose.plugins.xunit.Xunit import configure [as 别名]
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
#.........这里部分代码省略.........