WEB开发网
开发学院软件开发Python Python自动单元测试框架 阅读

Python自动单元测试框架

 2007-03-30 12:28:08 来源:WEB开发网   
核心提示: 采用动态方法最大的好处是测试类的结构非常好,用于测试一个软件模块的所有代码都可以在同一个类中实现,Python自动单元测试框架(7),动态方法不再覆盖runTest()方法,而是为测试类编写多个测试方法(按习惯这些方法通常以test开头),并将其作为整个单元测试的入口,PyUnit通过调用

采用动态方法最大的好处是测试类的结构非常好,用于测试一个软件模块的所有代码都可以在同一个类中实现。动态方法不再覆盖runTest()方法,而是为测试类编写多个测试方法(按习惯这些方法通常以test开头),在创建TestCase子类的实例时必须给出测试方法的名称,来为PyUnit测试框架指明运行该测试用例时究竟应该调用测试类中的哪个方法:

sizeTestCase = WidgetTestCase("testSize")
resizeTestCase = WidgetTestCase("testResize")

3.3 测试用例集TestSuite

完整的单元测试很少只执行一个测试用例,开发人员通常都需要编写多个测试用例才能对某一软件功能进行比较完整的测试,这些相关的测试用例称为一个测试用例集,在PyUnit中是用TestSuite类来表示的。

在创建了一些TestCase子类的实例作为测试用例之后,下一步要做的工作就是用TestSuit类来组织它们。PyUnit测试框架允许Python程序员在单元测试代码中定义一个名为suite()的全局函数,并将其作为整个单元测试的入口,PyUnit通过调用它来完成整个测试过程。

def suite():
  suite = unittest.TestSuite()
  suite.addTest(WidgetTestCase("testSize"))
  suite.addTest(WidgetTestCase("testResize"))
  return suite

也可以直接定义一个TestSuite的子类,并在其初始化方法(__init__)中完成所有测试用例的添加:

                        class WidgetTestSuite(unittest.TestSuite):
  def __init__(self):
    unittest.TestSuite.__init__(self, map(WidgetTestCase,
                       ("testSize",
                        "testResize")))

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Python 自动 单元

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接