>>> dir(unittest)  #所有的属性和方法
['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', 'TestLoader', 'TestProgram', 'TestResult', 'TestSuite', 'TextTestResult', 'TextTestRunner', '_TextTestResult',
'__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
'__path__', '__spec__', '__unittest', 'case', 'defaultTestLoader', 'expectedFailure', 'findTestCases', 'getTestCaseNames',
'installHandler', 'load_tests', 'loader', 'main', 'makeSuite', 'registerResult', 'removeHandler', 'removeResult', 'result', 'runner', 'signals', 'skip', 'skipIf', 'skipUnless', 'suite', 'util']

例如:
import unittest

class Test_baidu(unittest.TestCase):  #所有的测试类都需要继承这个TestCase类,
def setUp(self): #重写了TestCase类的方法 每个用例开始执行之前都会执行setUp
print('开始执行用例了:-----------') def tearDown(self):#重写了TestCase类的方法 每个用例结束之后都会执行tearDown
print('执行完毕:------------') def test_case1(self):
print('test_case1111111111')
self.assertEqual(1,1) #判断a,b相等吗
self.assertIs(1,1)#判断a是b吗
self.assertIn(1,[1,2])#判断a在b里吗
l = [1,2]
self.assertIsInstance(l,list)#判断a是b的实例化对象吗
self.assertTrue(1)#判断a是true
self.assertFalse(0) @unittest.skip('不执行222') #skip跳过执行,
def test_case2(self):
print('test_case222222')
if __name__ =='__main__':
unittest.main(verbosity=2) #这可像py文件一样直接运行 把多个用例写在一个目录下面,直接用discover()方法找到多个test_case一次性执行:

unittest.TextTextRunner():unittest框架的TextTextRunner()类,通过该类下面的run()方法来运行suite所组装的测试用例,入参为suite测试套件。

unittest.defaultTestLoader(): defaultTestLoader()类,通过该类下面的discover()方法可自动更具测试目录start_dir匹配查找测试用例文件(test*.py),并将查找到的测试用例组装到测试套件,因此可以直接通过run()方法执行discover。

import unittest,os
c_path = os.getcwd()
path = os.path.join(c_path,'unittest_html')
print(path) discover = unittest.defaultTestLoader.discover(path,pattern='test_*.py') #批量的找到path路径下面的所有的test_*py的用例
print(discover) runner = unittest.TextTestRunner()#通过该类下面的run()方法来运行suite所组装的测试用例
runner.run(discover)

最新文章

  1. ATM-PROGRAM 关于Proprties的问题
  2. Java多线程学习(三)
  3. js zTree的用法
  4. EasyUI 添加tab页(iframe方式)(转)
  5. Hog SVM 车辆 行人检测
  6. hibernate对象关系实现(一)一对多
  7. BZOJ 3450 Easy
  8. ExtJS MVC学习手记 2
  9. AIX 中 Paging Space 使用率过高的分析与解决
  10. 多态&&父类调用子类特有的方法
  11. java学习--抽象类与接口
  12. android studio Activity标题栏研究
  13. Filter自动登录
  14. JVM内存越多,能创建的线程越少,越容易发生java.lang.OutOfMemoryError: unable to create new native thread。
  15. spring 5.1.2 mvc RequestMappingHandlerMapping 调用handler过程
  16. 集美大学1414-团队作业2:需求分析&原型设计分数发布
  17. SSO的定义、原理、组件及应用
  18. Rookey.Frame v1.0快速开发平台-整体介绍
  19. 关于SQL语句中的distinct和group by
  20. apiClould微信三方登录,qq三方登录

热门文章

  1. Web开发中的服务器跳转与客户端跳转
  2. spring security 权限框架原理
  3. php array_combine()函数 语法
  4. div拖拽的问题
  5. UE4 中的Blutilities
  6. [CSP-S模拟测试]:回文(hash+二维前缀和)
  7. womenzijide
  8. 【CDN+】 CDN项目的两大核心--缓存与回源
  9. MySQL 查询语句--------------进阶7:子查询
  10. mybatis中Oracle分页语句的写法