Re: Publish unittest results from test discovery
Lucretiel wrote: > So I've started using unittest, and I love it. I use testdiscovery (python > -m unittest discover) so that I can distribute my tests and don't have to > manage them all manually. I wanted to start publishing my test results to > xml, though. I found xmlrunner by googling around, but it requires me to > add an if __name__ == '__main__' block to my code, which isn't executed by > unittest discover. Is there a way to get unittest disover to work with > xmlrunner, or to some other way to solve this without restructuring all my > test code? I don't see where you could specify a test runner on the commandline, but you can reuse the discovery code in your own scripts. For the following example I basically copied unittest.__main__.py: $ cat discover.py #!/usr/bin/env python import xmlrunner __unittest = True from unittest.main import main, TestProgram, USAGE_AS_MAIN TestProgram.USAGE = USAGE_AS_MAIN main(module=None, testRunner=xmlrunner.XMLTestRunner(output='test-reports')) $ cat test_alpha.py import unittest class T(unittest.TestCase): def test_alpha(self): pass def test_beta(self): self.assertEquals(["a", "b", "c"], ["a", "B", "c"]) $ ./discover.py discover Running tests... -- .F == FAIL [0.001s]: test_beta (test_alpha.T) -- Traceback (most recent call last): File "/somewhere/over/the/rainbow/discover/test_alpha.py", line 7, in test_beta self.assertEquals(["a", "b", "c"], ["a", "B", "c"]) AssertionError: Lists differ: ['a', 'b', 'c'] != ['a', 'B', 'c'] First differing element 1: b B - ['a', 'b', 'c'] ?^ + ['a', 'B', 'c'] ?^ -- Ran 2 tests in 0.002s FAILED (failures=1) Generating XML reports... $ ls discover.py test_alpha.py test_alpha.pyc test-reports $ ls test-reports/ TEST-test_alpha.T.xml $ -- http://mail.python.org/mailman/listinfo/python-list
Re: Publish unittest results from test discovery
On 25/08/2012 02:03, Steven D'Aprano wrote: On Fri, 24 Aug 2012 17:25:05 -0700, Lucretiel wrote: [...] Is there a way to get unittest disover to work with xmlrunner Steady on there! It's only been about an hour and a half since you last asked this exact same question, almost word-for-word identical. The more specialised the question, the longer it may take for somebody who knows the answer to reply. For something like this, I would wait at least a couple of days before replying to your original post. (Don't just re-post the question in a new thread, keep the response in a single thread.) I have no idea about xmlrunner and unittest discovery, sorry. I entirely agree with Steven's comments. I'd put a question like this on a specialised list. How about gmane.comp.python.testing.general ? Sorry I've no idea what it's called elsewhere. -- Cheers. Mark Lawrence. -- http://mail.python.org/mailman/listinfo/python-list
Re: Publish unittest results from test discovery
On Fri, 24 Aug 2012 17:25:05 -0700, Lucretiel wrote: [...] > Is there a way to get unittest disover to work with xmlrunner Steady on there! It's only been about an hour and a half since you last asked this exact same question, almost word-for-word identical. The more specialised the question, the longer it may take for somebody who knows the answer to reply. For something like this, I would wait at least a couple of days before replying to your original post. (Don't just re-post the question in a new thread, keep the response in a single thread.) I have no idea about xmlrunner and unittest discovery, sorry. -- Steven -- http://mail.python.org/mailman/listinfo/python-list
Publish unittest results from test discovery
So I've started using unittest, and I love it. I use testdiscovery (python -m unittest discover) so that I can distribute my tests and don't have to manage them all manually. I wanted to start publishing my test results to xml, though. I found xmlrunner by googling around, but it requires me to add an if __name__ == '__main__' block to my code, which isn't executed by unittest discover. Is there a way to get unittest disover to work with xmlrunner, or to some other way to solve this without restructuring all my test code? -- http://mail.python.org/mailman/listinfo/python-list