python爬虫学习第三十八天
来源:互联网 发布:pslogo美工基础知识 编辑:程序博客网 时间:2024/05/14 05:50
今天的内容:用爬虫测试网站
测试&单元测试
测试和单元测试(unit test)这两个词基本可以看成是等价的。一般当程序员们说起“写测 试”时,他们真正的意思就是“写单元测试” 。而一些程序员提到写单元测试时,他们写 的就是某一种测试。
单元测试一般有如下的特点:
一个单元测试用于测试一个零件(component)功能的一个方面。通常,对于一个零件的所用功能的测试都放在一个类中好管理。
一个单元测试都可以完全独立地运行,一个单元测试需要的所有启动(setup)和卸载 (teardown)都必须通过这个单元测试本身去处理。换句话说,一个单元测试的运行只依赖于它自己,不能对其他的单元测试产生影响。
个单元测试通常至少包含一个断言(assertion) 。也有的单元测试在执行时每通过一项测试就抛出一个异常,当异常全部抛出时,单元测试成功,否则失败。
元测试与生产代码是分离的。随然它们需要导入然后在待测试的代码中使用,但是它 们一般被保留在独立的类和目录中。
python单元测试模块unittest
unittest是python的标准库,python安装后都会有。使用时需要import unittest并集成unittest.TestCase类。
• 为每个单元测试的开始和结束提供 setUp 和 tearDown 函数
• 提供不同类型的“断言”语句让测试成功或失败
• 把所有以 test_ 开头的函数当作单元测试运行,忽略不带 test_ 的函数
练习 验证计算2+2
import unittestclass TestAddition(unittest.TestCase): def setUp(self): print("Test begin!") pass def tearDown(self): print("Test end") pass def test_twoSumTwo(self): total = 2+2 self.assertEqual(first=4,second=total) passif __name__ == '__main__': unittest.main()
练习 测试网站(beautifulsoup+unittest)
import unittestfrom bs4 import BeautifulSoupfrom urllib.request import urlopenclass TestWikipedia(unittest.TestCase): bsObj = None def setUp(self): global bsObj url = "http://en.wikipedia.org/wiki/Monty_Python" bsObj = BeautifulSoup(urlopen(url),"lxml") pass def test_webTitle(self): global bsObj title = bsObj.find("h1").get_text() self.assertEqual(first="Monty Python",second = title) pass def test_webContent(self): global bsObj content = bsObj.find("div",{"id":"mw-content-text"}) self.assertIsNotNone(obj=content) pass def tearDown(self): print("Test Over!") passif __name__ == '__main__': unittest.main()
过程,导入一个网站并判断标题是否为给定标题,指定内容是否存在
判断成功会在全部测试完成后向主屏幕打印“OK”,否则会在出错的测试处打印“F”并在运行后打印测试出错信息。
明天要写一个相对长一点的测试练习,今天刚刚看懂,先到这里啦,打卡~
- python爬虫学习第三十八天
- 学习python的第三十八天
- python爬虫学习第三十天
- python爬虫学习第三十一天
- python爬虫学习第三十三天
- python爬虫学习第三十五天
- python爬虫学习第三十七天
- python爬虫学习第三十九天
- 第三十八天学习笔记
- python爬虫学习第八天
- python爬虫学习第十八天
- python爬虫学习第二十八天
- 实习篇---第三十八天
- 编程第三十八天
- python学习---第八天
- Python快速学习第八天
- 学习python的第十八天
- 学习python的第三十五天-处理异常
- 我的Java RCP 编程之路之第一站
- Tomcat Can't load AMD 64-bit .dll on a IA 32
- fwslider--属于自己的一个图片轮播插件
- POJ-2773 Happy 2006(容斥,二分,dfs)
- mobike算法挑战赛
- python爬虫学习第三十八天
- utf-8,utf-16,utf-32(浅谈)
- 文件(File)
- 范数的直觉性理解【转】
- 错误: 找不到或无法加载主类 com.test.TestIOC
- AtCoder Beginner Contest 072
- 51Nod 1066 Bash游戏
- mysql5.5、5.6统计信息采样配置及分析表
- 服务器错误代码大全