setUpClass() missing 1 required positional argument: 'cls' setUpClass() missing 1 required positional argument: 'cls' python-3.x python-3.x

setUpClass() missing 1 required positional argument: 'cls'


You need to put a @classmethod decorator before def setUpClass(cls).

class TestDownload(unittest.TestCase):    @classmethod    def setUpClass(cls):        config.fs = True

The setupClass docs are here and classmethod docs here.

What happens is that in suite.py line 163 the setUpClass gets called on the class (not an instance) as a simple function (as opposed to a bound method). There is no argument passed silently to setUpClass, hence the error message.

By adding the @classmethod decorator, you are saying that when TestDownload.setupClass() is called, the first argument is the class TestDownload itself.


Adding @classmethod before setUp and tearDown will resolve the issue. @classmethod is bound to the class.

class LoginTest(unittest.TestCase):   @classmethod   def setUpClass(cls):   **Your code**   @classmethod   def tearDownClass(self):