《Python Web开发——测试驱动方法》学习笔记 ch02

第二章 使用 unittest 模块拓展功能测试

1 . TDD常与敏捷软件开发方法结合在一起使用,常被叫做是"最简可用的应用".

2 . Python 标准库中的unittest模块与selenium第一次合体:

from selenium import webdriver
import unittest

class NewVisitorTest(unittest.TestCase):
    
    def setUp(self):
        self.browser = webdriver.Firefox()
        self.browser.implicitly_wait(3)

    def tearDown(self):
        self.browser.quit()

    def test_can_start_a_list_and_retrieve_it_later(self):
        self.browser.get('http://localhost:8000')
        self.assertIn('To-Do',self.browser.title)
        self.fail('Finish the test!')

if __name__ == '__main__':
    unittest.main(warnings='ignore')
  • 用面向对象的方法进行测试,组织成类的形式,继承自unittest.TestCase
  • 名字以test_开头的方法都是测试方法(为测试方法起个好名字很重要)
  • 基本的setUptearDown就不说了..
  • self.fail()指定让其失败,使用这个告诉我们测试结束
  • 调用unittest.main()启动测试程序运行
  • 如果setUp方法抛出异常,那么tearDown方法不会运行
  • warnings='ignore'作用:禁止抛出ResourceWarning异常,最新版本已经没有这个异常了..
  • self.browser.implicitly_wait(3):让Seleniumn等待3s钟(加载资源)

3 . 自动添加已经跟踪的文件(即只跟踪之前提交过的文件)

  git commit -a

有用的TDD概念

  • 预期失败
    意料之中的失败

你可能感兴趣的:(《Python Web开发——测试驱动方法》学习笔记 ch02)