TA的每日心情 | 擦汗 2022-8-30 09:02 |
---|
签到天数: 2 天 连续签到: 2 天 [LV.1]测试小兵
|
以测试维基百科为例:
- from urllib.request import urlopen
- from bs4 import BeautifulSoup
- import unittest
- class TestWikipedia(unittest.TestCase):
- bsObj = None
- def setUpClass():
- global bsObj
- url = 'http://en.wikipedia.org/wiki/Monty_Python'
- bsObj = BeautifulSoup(urlopen(url))
- print('setting up the test')
- def test_titleTest(self):
- global bsObj
- pageTitle = bsObj.find("h1").get_text()
- self.assertEqual("Monty Python",pageTitle)
- print("tearing down the test")
- def test_contentExists(self):
- global bsObj
- content = bsObj.find("div",{"id":"mw-content-text"})
- self.assertIsNotNone(content)
- if __name__=='__main__':
- unittest.main()
复制代码 写了两个测试,第一个测试页面标题是否为”Monty Python”,第二个测试页面是否有一个div节
点id属性是”mw-content-text”
注意这个页面的内容值加载一次由全局对象bsObj共享给其他测试,这是通过unittest类的函
数setUpClass来实现的,这个函数只在类的初始化阶段运行一次(与每个测试启动时都运行
的setUp函数不同),更方便。
结果:
- .setting up the test
- tearing down the test
- setting up the test..
- tearing down the test
- ----------------------------------------------------------------------
- Ran 3 tests in 2.568s
- OK
复制代码 注意:单双引号无所谓,用作字符,字符串,注意有转义的时候尽量避免混淆,转单引号则外面用双引
号,反之亦然,三引号也可以用只是麻烦,另三引号可用作注释
|
|