[Tutor] Newbie & Unittest ...
Vincent Davis
vincent at vincentdavis.net
Thu May 6 15:30:42 CEST 2010
I can't think of a way to do what you ask, without defining a test for each.
ButI think what you might actually want is the define the error message to
report which one failed. ie, it's one test with a meaningful error message.
'Failed to load' + str(file)+' '+ str(k)+', '+str(v)
I am not ecpert on unittests
*Vincent Davis
720-301-3003 *
vincent at vincentdavis.net
my blog <http://vincentdavis.net> |
LinkedIn<http://www.linkedin.com/in/vincentdavis>
On Wed, May 5, 2010 at 6:37 PM, Damon Timm <damontimm at gmail.com> wrote:
> Hi - am trying to write some unit tests for my little python project -
> I had been hard coding them when necessary here or there but I figured
> it was time to try and learn how to do it properly.
>
> I've read over Python's guide
> (http://docs.python.org/library/unittest.html) but I am having a hard
> time understanding how I can apply it *properly* to my first test case
> ...
>
> What I am trying to do is straightforward, I am just not sure how to
> populate the tests easily. Here is what I want to accomplish:
>
> # code
> import unittest
> from mlc.filetypes import * # the module I am testing
>
> # here are the *correct* key, value pairs I am testing against
> TAG_VALUES = (
> ('title', 'Christmas Waltz'),
> ('artist', 'Damon Timm'),
> ('album', 'Homemade'),
> )
>
> # list of different file types that I want to test my tag grabbing
> capabilities
> # the tags inside these files are set to match my TAG_VALUES
> # I want to make sure my code is extracting them correctly
> FILES = (
> FLACFile('data/lossless/01 - Christmas Waltz.flac'),
> MP3File('data/lossy/04 - Christmas Waltz (MP3-79).mp3'),
> OGGFile('data/lossy/01 - Christmas Waltz (OGG-77).ogg'),
> MP4File('data/lossy/06 - Christmas Waltz (M4A-64).m4a'),
> )
>
> class TestFiles(unittest.TestCase):
>
> # this is the basic test
> def test_values(self):
> '''see if values from my object match what they should match'''
> for file in FILES:
> for k, v in TAG_VALUES:
> self.assertEqual(self.file.tags[k], v)
>
> This test works, however, it only runs as *one* test (which either
> fails or passes) and I want it to run as 12 different tests (three for
> each file type) and be able to see which key is failing for which file
> type. I know I could write them all out individually but that seems
> unnecessary.
>
> I suspect my answer lies in the Suites but I can't wrap my head around it.
>
> Thanks!
>
> Damon
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100506/6b8270e2/attachment.html>
More information about the Tutor
mailing list