我有许多扩展基类的单元测试。
我想向所有测试用例添加一个验证条件。我知道每次考试我都能做到
def validate(self):
# The base validation
BaseTest.validate(self)
# This test validation
self.assertGrep(file='correlator.log', exprList='TEST PASSED')我是否只有通过修改基类才能做到这一点,而不必修改所有的测试用例?
还是在Runner扩展中需要做些什么?
发布于 2015-09-22 14:49:58
就这个问题所基于的pysys测试框架而言,在框架中没有为您想要实现的目标提供特定的支持。对前一个问题的回答(stackoverflow.com.…/问询/8618157/…)使用元类可以让你做你想做的事,而不必更新你的每一个测试。
发布于 2015-09-22 13:42:23
TemplateMethod模式来拯救:
class BaseTest(unitest.Testcase):
def validate(self):
do_the_common_validation()
self.validate_more()
def validate_more(self):
pass然后,在子类中,只需重写validate_more()即可。
https://stackoverflow.com/questions/32717603
复制相似问题