Re: [Python-de] Frage zu Testabdeckung und Verantwortlichkeiten der jeweiligen Testklasse
![](https://secure.gravatar.com/avatar/c0bd2aef5c4bf30365aa6fd4f13f3fae.jpg?s=120&d=mm&r=g)
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
![](https://secure.gravatar.com/avatar/e88b046bd99c34714b60a04eaf51d334.jpg?s=120&d=mm&r=g)
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