2016-03-29 24 views
2

Ich bin neu in unittest so sicher, ich bin nicht, warum ich diese Störung erhalte:Keine solche Prüfverfahren für Python Unittest

Traceback (most recent call last): 
    File "filemerge_test.py", line 98, in <module> 
    main(sys.argv) 
    File "filemerge_test.py", line 92, in main 
    filemerge_test.test_runner() 
    File "filemerge_test.py", line 19, in test_runner 
    self.addTest(TestFunctionality(self.log, self.options)) 
    File "/nfsdata/DSCluster/home/bli1/filemerge/tests/testcases.py", line 45, in __init__ 
    super(TestFunctionality, self).__init__() 
    File "/usr/local/lib/python2.7/unittest/case.py", line 191, in __init__ 
    (self.__class__, methodName)) 
ValueError: no such test method in <class 'testcases.TestFunctionality'>: runTest 

Voll Code ist hier: http://dpaste.com/0W1GEW6

Ich denke, es ist, weil ich ist Ich führe die Tests nicht korrekt aus. Hier

ist eine Zusammenfassung, wie meine Tests geschrieben derzeit:

from testcases import TestFunctionality 

class FileMergerTest(unittest.TestSuite) 
    def __init__(self, log, options): 
     super(FileMergerTest, self).__init__() 
     self.options = options 
     self.log = log 

    def test_runner(self): 
     self.addTest(TestFunctionality(self.log, self.options)) 
     self.run() 

def main() 
    ... 
    ... 
    filemerge_test = FileMergerTest(log, options) 
    filemerge_test.test_runner() 


if __name__ == "__main__": 
    main(sys.argv) 

In meinem testcases.py wo ich TestFunctionality

class TestFunctionality(unittest.TestCase): 
    def __init__(self, log, options): 
     super(TestFunctionality, self).__init__() 
     self.options = options 
     self.log = log 
     ... 

    def test_outputs(self, test_type) 
     ... 
     ... 

    def run(self): 
     self.test_outputs("-d") 
     self.test_outputs("-f") 

importierte ich versuchte, indem

if __name__ == '__main__': 
    unittest.main() 

Am Ende von meiner testcases.py Datei, aber ich habe der gleiche Fehler

Antwort

3

Ich denke, Sie override runTest wollen und nicht run:

# def run(self): # <--- remove 
def runTest(self): # <--- use this 
    self.test_outputs("-d") 
    self.test_outputs("-f") 

Wie der Fehler vermuten lässt.