zoukankan      html  css  js  c++  java
  • (引用) unittest测试驱动之执行测试(三)

    转载:http://www.wtoutiao.com/p/ydeoyY.html

    在unittest的模块中,提供了TestRunner类来进行运行测试用例,在实际的应用中,经常使用的是TextTestRunner类,执行后,会已文字的形式打印出测试结果,见如下的测试执行的代码:

    #coding:utf-8

    from seleniumimport webdriver

    import unittest

    classbaiduTest(unittest.TestCase):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    def testBaiduTitle(self):

    self.assertIn(u'百度一下,你就知道',self.driver.title)

    def testBaiduTitle2(self):

    self.assertNotEqual(u'bing下,你就知道',self.driver.title)

    def tearDown(self):

    self.driver.close()

    if__name__=='__main__':

    suite=unittest.TestSuite()

    suite.addTest(baiduTest('testBaiduTitle'))

    suite.addTest(baiduTest('testBaiduTitle2'))

    #执行用例

    runner=unittest.TextTestRunner()

    runner.run(suite)

    执行后,生成如下的测试结果,见截图:


    一、unittest.skip()

    unittest.skip('注释')是忽略此测试,但是得写忽略该case的原因,如在一个自动化的测试模块中,由于某些功能取消,那么对应的case也就不再执行,可以添加unittest.skip("忽略该测试用例"),见下面的代码示例,忽略了测试百度url的测试用例,见测试代码:

    #coding:utf-8

    from seleniumimport webdriver

    importunittest,sys,time

    reload(sys)

    sys.setdefaultencoding('utf-8')

    classBaiduTest(unittest.TestCase):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    self.driver.implicitly_wait(30)

    def testTitle(self):

    self.assertEqual(u'百度一下,你就知道',self.driver.title)

    @unittest.skip('Ignore this test case')

    def testUrl(self):

    self.assertEqual('https://www.baidu.com/',self.driver.current_url)

    def tearDown(self):

    self.driver.quit()

    @staticmethod

    def suite():

    suite=unittest.TestSuite(unittest.makeSuite(BaiduTest))

    return suite

    if__name__=='__main__':

    unittest.TextTestRunner(verbosity=2).run(BaiduTest.suite())

    见执行后的结果,跳过了testUrl测试用例的执行,见截图:

    二、unittest.expectedFailure

    unittest.expectedFailure指的是期望失败,见下面的测试代码。期望testUrl测试用例执行失败:

    #coding:utf-8

    from seleniumimport webdriver

    importunittest,sys,time

    reload(sys)

    sys.setdefaultencoding('utf-8')

    classBaiduTest(unittest.TestCase):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    self.driver.implicitly_wait(30)

    def testTitle(self):

    self.assertEqual(u'百度一下,你就知道',self.driver.title)

    @unittest.expectedFailure

    def testUrl(self):

    self.assertEqual('http://www.baidu',self.driver.current_url)

    def tearDown(self):

    self.driver.quit()

    @staticmethod

    def suite():

    suite=unittest.TestSuite(unittest.makeSuite(BaiduTest))

    return suite

    if__name__=='__main__':

    unittest.TextTestRunner(verbosity=2).run(BaiduTest.suite())

    见执行后的测试结果,会显示出来期望的结果是成功还是失败,见截图:

  • 相关阅读:
    Generate Parentheses (Java)
    leetcode15
    MD5
    leetcode409
    Vue第一个简单的例子
    SpringBoot和Ajax通信
    如何使用安装光盘为本机创建yum repository
    Less known Solaris features: svccfg editprop (ZT)
    Rename Oracle Managed File (OMF) datafiles in ASM(ZT)
    跨数据文件删除flashback database
  • 原文地址:https://www.cnblogs.com/zyp1/p/6018670.html
Copyright © 2011-2022 走看看