测试文件必须先import unittest
测试类必须继承unittest.TestCase
测试方法必须以test_开头
测试类必须要有unittest.main()方法
@classmethod注释,用例执行前、结束后,只运行一次。Unittest提供了断言的方式判断用例有没有成功,包括assertEqual(a, b)、assertIn(a, b)、assertTrue(x)、assertFalse(x)等方法。
import unittest
from Unni_study.mathfunc import add, minus, multi, divide
class TestMathfunc(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print('class')
@classmethod
def tearDownClass(cls) -> None:
print('tclass')
# 每个测试方法执行之前都会执行(初始化)
def setUp(self) -> None:
print("before")
# 每个测试方法执行之后都会执行(释放)
def tearDown(self) -> None:
print("after")
# 测试方法必须以“test_”开头
def test_add(self):
self.assertEqual(3, add(1, 2))
# self.assertEqual(3, add(2,2))
def test_minus(self):
self.assertEqual(-1, minus(1, 2))
# self.assertEqual(2, minus(2, 2))
def test_multi(self):
# self.skipTest("multi")
self.assertEqual(2, multi(1, 2))
def test_divide(self):
# self.skipTest("跳过")
self.assertEqual(2, divide(2, 1))
self.assertEqual(2, divide(5, 2))
# 测试类必须有unittest.main()方法
if __name__ == '_main_':
unittest.main()
import unittest
import time
from selenium import webdriver
from selenium.webdriver.common import by
class forTest(unittest.TestCase):
# 测试用例初始化
# 打开谷歌浏览器,进入网页
def setUp(self) -> None:
self.dr = webdriver.Chrome()
self.dr.get('https://www.baidu.com/')
self.dr.maximize_window()
# 测试用例释放
# 等待3s,关闭浏览器
def tearDown(self) -> None:
time.sleep(3)
self.dr.quit()
def test_1(self):
pass
self.dr.find_element(by.By.XPATH, "//*[@id = 'kw']").send_keys('战狼')
self.dr.find_element(by.By.XPATH, "//*[@id = 'su']").click()
if __name__ == '__main__':
unittest.main()