2017-03-14 3 views
0

Ich versuche, meine erste automatisierte Testsuite mit unittest zum ersten Mal zu erstellen.Python Unittest löst uncaught TypeError: __init __() nimmt 1 positional Argument, aber 2 wurden

Allerdings, wenn ich versuche, meine Testsuite ausführen, wirft Unittest die folgende Ausnahme:

Traceback (most recent call last): 

File "testing_pos_line.py", line 31, in <module> 
    unittest.main() 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\main.py", line 93, in __init__ 
    self.parseArgs(argv) 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\main.py", line 140, in parseArgs 
    self.createTests() 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\main.py", line 144, in createTests 
    self.test = self.testLoader.loadTestsFromModule(self.module) 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\loader.py", line 123, in loadTestsFromModule 
    tests.append(self.loadTestsFromTestCase(obj)) 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\loader.py", line 92, in loadTestsFromTestCase 
    loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames)) 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\suite.py", line 24, in __init__ 
    self.addTests(tests) 
    File "C:\Users\barnej78\AppData\Local\Continuum\Anaconda3\lib\unittest\suite.py", line 57, in addTests 
    for test in tests: 
TypeError: __init__() takes 1 positional argument but 2 were given 

Wenn ich meine Testfälle unzutreffend benennen mit einem Kapital T, Unittest läuft richtig, beginnen, aber keine Anwendung findet keine Tests zu meinem Code.

Mein Code ist wie folgt:

import unittest 
from regional_pos_line import Regional_pos_line as Rpl 
class Testpos_line__split_columns_callback(unittest.TestCase): 
    def __init__(self): 
     pass 
    def test_UT22_replace_end_row(self): 
     self.line.split_columns_callback(self, 4, self.junk_function, 4, replace = True) 
     self.assertEqual(self.line.data, [0,1,2,3,5]) 
    def test_UT23_replace_mid_row(self): 
     self.line.split_columns_callback(self, 1, self.junk_function, 4, replace = True) 
     self.assertEqual(self.line.data, [0,5,2,3,4]) 
    def test_UT24_replace_start_row(self): 
     self.line.split_columns_callback(self, 0, self.junk_function, 4, replace = True) 
     self.assertEqual(self.line.data, [5,1,2,3,4]) 
    def test_UT25_no_replace_end_row(self): 
     self.line.split_columns_callback(self, 5, self.junk_function, 4, replace = False) 
     self.assertEqual(self.line.data, [0,1,2,3,4,5]) 
    def test_UT26_no_replace_mid_row(self): 
     self.line.split_columns_callback(self, 1, self.junk_function, 4, replace = True) 
     self.assertEqual(self.line.data, [0,5,1,2,3,4]) 
    def test_UT27_no_replace_start_row(self): 
     self.line.split_columns_callback(self, 0, self.junk_function, 4, replace = True) 
     self.assertEqual(self.line.data, [5,0,1,2,3,4]) 
    def setUp(self): 
     self.line = Rpl([0,1,2,3,4]) 
    def tearDown(self): 
     del self.line 
    def junk_function(self, x): 
     return 5 
if __name__ == '__main__': 
    unittest.main() 

Was mache ich falsch?

Antwort

2

Versuchen Sie, init Funktion zu entfernen. Es sieht so aus, als ob du es nicht brauchst.

+0

Das war richtig. Vielen Dank! –

Verwandte Themen