> I used to ask the same question, but then I decided that if I wanted each > data point to get its own tick, I should bite the bullet and write an > individual test for each.
Nearly the entire re module test suite is a list of tuples. If it was instead a bunch of TestCase classes, there'd be a lot more boilerplate to write. (At a bare minimum, there'd be two times as many lines, and all the extra lines would be identical...) Why is writing boilerplate for a new test a good thing? It discourages the authorship of tests. Make it as easy as possible by e.g. adding a new thing to whatever you're iterating over. This is, for example, why the nose test library has a decorator for generating a test suite from a generator. Devin On Wed, Sep 28, 2011 at 8:16 PM, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > Tim Chase wrote: > >> While I asked this on the Django list as it happened to be with >> some Django testing code, this might be a more generic Python >> question so I'll ask here too. >> >> When performing unittest tests, I have a number of methods of the >> form >> >> def test_foo(self): >> data = ( >> (item1, result1), >> ... #bunch of tests for fence-post errors >> ) >> for test, result in data: >> self.assertEqual(process(test), result) >> >> When I run my tests, I only get a tick for running one the one >> test (test_foo), not the len(data) tests that were actually >> performed. Is there a way for unittesting to report the number >> of passed-assertions rather than the number of test-methods run? > > I used to ask the same question, but then I decided that if I wanted each > data point to get its own tick, I should bite the bullet and write an > individual test for each. > > If you really care, you could subclass unittest.TestCase, and then cause > each assert* method to count how often it gets called. But really, how much > detailed info about *passed* tests do you need? > > If you are writing loops inside tests, you might find this anecdote useful: > > http://mail.python.org/pipermail/python-list/2011-April/1270640.html > > > > -- > Steven > > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list