Merge junit-xml url attribute branch
Merge branch 'url_attr' of https://github.com/fushi/pytest into junitxml-url
This commit is contained in:
		
						commit
						dc16fe2bb9
					
				|  | @ -1,7 +1,8 @@ | |||
| 3.1.0.dev | ||||
| ========= | ||||
| 
 | ||||
| * | ||||
| * Testcase reports with a url attribute will now properly write this to junitxml. | ||||
|   Thanks `@fushi`_ for the PR | ||||
| 
 | ||||
| * | ||||
| 
 | ||||
|  | @ -11,6 +12,8 @@ | |||
| 
 | ||||
| * | ||||
| 
 | ||||
| .. _@fushi: https://github.com/fushi | ||||
| 
 | ||||
| 
 | ||||
| 3.0.2 | ||||
| ===== | ||||
|  | @ -35,7 +38,7 @@ | |||
|   enabled. This allows proper post mortem debugging for all applications | ||||
|   which have significant logic in their tearDown machinery (`#1890`_). Thanks | ||||
|   `@mbyt`_ for the PR. | ||||
|    | ||||
| 
 | ||||
| * Fix use of deprecated ``getfuncargvalue`` method in the internal doctest plugin. | ||||
|   Thanks `@ViviCoder`_ for the report (`#1898`_). | ||||
| 
 | ||||
|  |  | |||
|  | @ -102,6 +102,8 @@ class _NodeReporter(object): | |||
|         } | ||||
|         if testreport.location[1] is not None: | ||||
|             attrs["line"] = testreport.location[1] | ||||
|         if hasattr(testreport, "url"): | ||||
|             attrs["url"] = testreport.url | ||||
|         self.attrs = attrs | ||||
| 
 | ||||
|     def to_xml(self): | ||||
|  |  | |||
|  | @ -922,3 +922,28 @@ def test_global_properties(testdir): | |||
|         actual[k] = v | ||||
| 
 | ||||
|     assert actual == expected | ||||
| 
 | ||||
| 
 | ||||
| def test_url_property(testdir): | ||||
|     test_url = "http://www.github.com/pytest-dev" | ||||
|     path = testdir.tmpdir.join("test_url_property.xml") | ||||
|     log = LogXML(str(path), None) | ||||
|     from _pytest.runner import BaseReport | ||||
| 
 | ||||
|     class Report(BaseReport): | ||||
|         longrepr = "FooBarBaz" | ||||
|         sections = [] | ||||
|         nodeid = "something" | ||||
|         location = 'tests/filename.py', 42, 'TestClass.method' | ||||
|         url = test_url | ||||
| 
 | ||||
|     test_report = Report() | ||||
| 
 | ||||
|     log.pytest_sessionstart() | ||||
|     node_reporter = log._opentestcase(test_report) | ||||
|     node_reporter.append_failure(test_report) | ||||
|     log.pytest_sessionfinish() | ||||
| 
 | ||||
|     test_case = minidom.parse(str(path)).getElementsByTagName('testcase')[0] | ||||
| 
 | ||||
|     assert (test_case.getAttribute('url') == test_url), "The URL did not get written to the xml" | ||||
		Loading…
	
		Reference in New Issue