Unit testing errors (testing the platform module)

Martin P. Hellwig martin.hellwig at dcuktec.org
Tue Apr 13 10:11:29 EDT 2010


On 04/13/10 15:01, John Maclean wrote:
> I normally use  languages unit testing framework to get a better
> understanding of how a language works. Right now I want to grok the
> platform module;
>
>
>   1 #!/usr/bin/env python
>    2 '''a pythonic factor'''
>    3 import unittest
>    4 import platform
>    5
>    6 class TestPyfactorTestCase(unittest.TestCase):
>    7     def setUp(self):
>    8         '''setting up stuff'''
>   13
>   14     def testplatformbuiltins(self): 15
> '''platform.__builtins__.blah '''
>   16         self.assertEquals(platform.__builtins__.__class__, "<type 'd
>      ict'>")
>   17
>   18
>   19     def tearDown(self):
>   20         print 'cleaning stuff up'
>   21
>   22 if __name__ == "__main__":
>   23     unittest.main()
>
>
> Is there an error in my syntax? Why is my test failing? Line 16.
>
>
> python stfu/testing/test_pyfactor.py
> Fcleaning stuff up
>
> ======================================================================
> FAIL: platform.__builtins__.blah
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>    File "stfu/testing/test_pyfactor.py", line 16, in testplatformbuiltins
>      self.assertEquals(platform.__builtins__.__class__, "<type 'dict'>")
> AssertionError:<type 'dict'>  != "<type 'dict'>"
>
> ----------------------------------------------------------------------
> Ran 1 test in 0.000s
>
> FAILED (failures=1)
>

What happens if you change this line:
self.assertEquals(platform.__builtins__.__class__, "<type 'dict'>")

To something like:
self.assertEquals(platform.__builtins__.__class__, type(dict()))

or
self.assertEquals(str(platform.__builtins__.__class__), "<type 'dict'>")

-- 
mph




More information about the Python-list mailing list