New issue 632: Empty classname in junitxml for collection failure
https://bitbucket.org/hpk42/pytest/issue/632/empty-classname-in-junitxml-for-collection

Colin Blackburn:

If there is a fail of some sort at the module or class level the tests are not 
collected. The failure as reported in the junitxml file has an empty classname. 
This causes problems in downstream reporting on Jenkins where a link to the 
error report cannot be correctly formed.

Here are three example test files:
```
#!python
# file name: test.integration.junit.test_class

class TestClass(object):

    UL = []
    UL._non_atrrib

    def testClass(self):
        assert True
```


```
#!python
# file name: test.integration.junit.test_module

UL = []
UL._non_atrrib

class TestModule(object):

    def testModule(self):
        assert True
```


```
#!python
# file name: test.integration.junit.test_method

class TestMethod(object):

    def testMethod(self):
        UL = []
        UL._non_atrrib
        assert True
```

which give this XML output:

```
#!xml

<?xml version="1.0" encoding="utf-8"?>
<testsuite errors="2" failures="1" name="pytest" skips="0" tests="1" 
time="0.030">
  <testcase classname="" name="test.integration.junit.test_class" time="0">
    <error message="collection failure">test/integration/junit/test_class.py:5: 
in &lt;module&gt;
    class TestClass(object):
test/integration/junit/test_class.py:8: in TestClass
    UL._non_atrrib
E   AttributeError: 'list' object has no attribute '_non_atrrib'</error>
  </testcase>
  <testcase classname="" name="test.integration.junit.test_module" time="0">
    <error message="collection 
failure">test/integration/junit/test_module.py:6: in &lt;module&gt;
    UL._non_atrrib
E   AttributeError: 'list' object has no attribute '_non_atrrib'</error>
  </testcase>
  <testcase classname="test.integration.junit.test_method.TestMethod" 
name="testMethod" time="0.000324010848999">
    <failure message="test failure">self = &lt;test_method.TestMethod object at 
0x10b61a6d0&gt;

    def testMethod(self):
        UL = []
&gt;       UL._non_atrrib
E       AttributeError: 'list' object has no attribute '_non_atrrib'

test/integration/junit/test_method.py:9: AttributeError</failure>
  </testcase>
</testsuite>
```


_______________________________________________
pytest-commit mailing list
pytest-commit@python.org
https://mail.python.org/mailman/listinfo/pytest-commit

Reply via email to