python - Unit test - "NameError: global name is not defined" -


this question has answer here:

i trying figure out how write unit tests functions in python - here's code written below:

def num_buses(n):     import math     """ (int) -> int      precondition: n >= 0      return minimum number of buses required transport n people.     each bus can hold 50 people.      >>> num_buses(75)     2     """     bus = int()     if(n>=0):         bus = int(math.ceil(n/50.0))     return bus 

i attempting write test code results fail - here's code have started with:

import a1 import unittest   class testnumbuses(unittest.testcase):     """ test class function a1.num_buses. """     def test_numbuses_1(self):         actual = num_buses(75)         expected = 2         self.assertequal(actual, expected)      # add test methods a1.num_buses here.   if __name__ == '__main__':     unittest.main(exit=false) 

when run module pressing f5 - -

e ====================================================================== error: test_numbuses_1 (__main__.testnumbuses) ---------------------------------------------------------------------- traceback (most recent call last):   file "c:\1-blog-cacher\testnumbuses.py", line 8, in test_numbuses_1     actual = num_buses(75) nameerror: global name 'num_buses' not defined  ---------------------------------------------------------------------- ran 1 test in 0.050s  failed (errors=1) 

it should pass since number of passengers 75 , each bus can hold maximum of 50 people - more result in rounding of figures.

assuming code in module a1, try prefacing num_buses a1, a1.num_buses. problem unittests in different module, , num_buses function module referenced a1.num_buses in test's namespace, hence global error. therefore change test to:

class testnumbuses(unittest.testcase):     """ test class function a1.num_buses. """     def test_numbuses_1(self):         actual = a1.num_buses(75)         expected = 2         self.assertequal(actual, expected) 

Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -