Re: [Python-de] Frage zu Testabdeckung und Verantwortlichkeiten der jeweiligen Testklasse

Und ansonsten bleibt die Erkenntnis, das coverage nicht alles ist...
- Arnold
Ich haben einen Weg gefunden und dies gerade als Rezept veröffentlich: http://code.activestate.com/recipes/578793-more-struct-unit-tests-using-a-va...
Viel Spass

Thomas Lehmann wrote:
Und ansonsten bleibt die Erkenntnis, das coverage nicht alles ist...
- Arnold
Ich haben einen Weg gefunden und dies gerade als Rezept veröffentlich: http://code.activestate.com/recipes/578793-more-struct-unit-tests-using-a-va...
Viel Spass
Interessant!
Hier eine Alternative, die nur meckert, wenn die unit tests ausführt werden, statt gleich eine Exception zu werfen:
def verify(self, testClass): """Add a failing test for each testable method without corresponding test method. """ methodsInTestClass\ = ValidateTestResponsibilityFor.getEntries(testClass, inspect.isfunction)\ + ValidateTestResponsibilityFor.getEntries(testClass, inspect.ismethod)
for testableMethod in self.methodsInTestableClass: testMethod = ValidateTestResponsibilityFor.getTestMethod(testableMethod) if testMethod not in methodsInTestClass: setattr(testClass, testMethod, make_fail(testMethod, self.testableClass.__name__ + "." + testableMethod))
def make_fail(testname, methodname): """Create a failing test method.
Example: def testWhatever(self) self.fail("No test method " 'whatever') """ # Das geht sicher auch besser ohne exec()... ns = {} exec ("""\ def %s(self): self.fail("No test method for " %r) """ % (testname, methodname), ns) return ns[testname]
participants (2)
-
Peter Otten
-
Thomas Lehmann