直接上代码:

  1. __author__ = 'zc'
  2.  
  3. import unittest
  4.  
  5. class demoSkipTest(unittest.TestCase):
  6. a = 70
  7. b = 50
  8.  
  9. print(a%b)
  10. def test_add(self):
  11. """加法"""
  12. result = self.a + self.b
  13. self.assertEqual(result, 40)
  14.  
  15. def test_add_2(self):
  16. self.skipTest("强制跳过示例")
  17. result = self.a + self.b
  18. self.assertEqual(result, 9)
  19.  
  20. @unittest.skipIf(a > b, u"a>b,正确就强制跳过")
  21. def test_sub(self):
  22. """减法"""
  23. result = self.a - self.b
  24. self.assertTrue(result == -30)
  25.  
  26. @unittest.skipUnless(a%b == 2, u"错误就跳过")
  27. def test_div(self):
  28. """除法"""
  29. result = self.a / self.b
  30. self.assertTrue(result == 1)
  31.  
  32. @unittest.expectedFailure
  33. def test_mul01(self):
  34. """乘法"""
  35. result = self.a * self.b
  36. self.assertTrue(result == 350)
  37.  
  38. @unittest.expectedFailure
  39. def test_mul02(self):
  40. """乘法"""
  41. result = self.a * self.b
  42. self.assertTrue(result == 3500)
  43.  
  44. if __name__ == "__main__":
  45. unittest.main()

运行结果:

  1. Fssxus
  2. ======================================================================
  3. FAIL: test_add (__main__.demoSkipTest)
  4. 加法
  5. ----------------------------------------------------------------------
  6. Traceback (most recent call last):
  7. File "/xxx/run_safe_test.py", line 24, in test_add
  8. self.assertEqual(result, 40)
  9. AssertionError: 120 != 40
  10.  
  11. ----------------------------------------------------------------------
  12. Ran 6 tests in 0.000s
  13.  
  14. FAILED (failures=1, skipped=3, expected failures=1, unexpected successes=1)

说明:

最后两个,先预想这个用例是错误的,但是最后一个结果是正确的,所以

expected failures=1       (预想就是错的)

unexpected successes=1   (没想到是正确的)

序号 方法 说明
1 unittest.skip(reason)  强制跳转。reason是跳转原因
2 unittest.skipIf(condition, reason)  条件跳转,如果condition是True则跳转
3 unittest.skipUnless(condition, reason) 除非conditioin为True,才进行调整
4 unittest.expectedFailure() 标记该测试预期为失败 ,如果该测试方法运行失败,则该测试不算做失败

【Python + Selenium】之unittest测试用例满足条件,进行跳过测试Skip的更多相关文章

  1. python单元测试框架-unittest(五)之跳过测试和预期失败

    概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condi ...

  2. python selenium 使用unittest 示例

    python selenium 使用unittest 示例 并等待某个元素示例 from selenium.webdriver.support.ui import WebDriverWait from ...

  3. Python+selenium之unittest单元测试(3)关于测试用例执行的顺序

    一.测试用例执行的顺序 用例的执行顺序涉及多个层级,在多个测试目录的情况下,先执行哪个目录?在多个测试文件的情况下,先执行哪个文件?在多个测试类的情况下,先执行哪个测试类?,在多个测试方法(用例)的情 ...

  4. 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承

    前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...

  5. Python+Selenium框架unittest执行脚本方法之discover()方法

    继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件.本文来介绍,如 ...

  6. Python+Selenium框架-unittest执行脚本方法之addTest

    本文开始介绍如何通过unittest来管理和执行测试用例,这一篇介绍unittest下addTest()方法来加载测试用例到测试套件中去.为了演示效果,我在前面文章的脚本基础上,新建了一个测试脚本,这 ...

  7. 利用python+selenium在pycharm下进行页面登陆的半自动测试

    很久没有写了,现在正式入职,准备好好干,加油! 我的第一个较正式的测试代码: from selenium import webdriverimport unittestimport sysimport ...

  8. python selenium自动化(一)点击页面链接测试

    需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找 ...

  9. python调用HTMLTestRunner+unittest实现一次执行多个测试类,并生成与每个测试类对应的测试报告,具体看代码,附上整个project代码

    python自动化框架雏形,根据自己需要封装:ui自动化,接口自动化均可适用,python版本为python3.x,不要问我为什么不用python2.x,附上整个project代码:http://fi ...

随机推荐

  1. ZOJ1027 Travelling Fee(DP+SPFA)

    给一张有向无环图,边都有花费,从某点到某点走的那条路径上的那一条花费最多的边可以省掉,问从起点到终点的最少花费的多少, 往DP想的话,就可以写出这个状态dp[u][mx],表示到达u点已经省掉的花费为 ...

  2. Struts2笔记--文件上传

    Servlet 3.0规范的HttpServletRequest已经提供了方法来处理文件上传但这种上传需要在Servlet中完成.而Struts2则提供了更简单的封装. Struts2默认使用的是Ja ...

  3. linux-查找命令-find

    1. 按文件名(目录)查找.(*代表模糊匹配) find / -name curl    在根目录查找名字是curl的文件名(目录) find / -name "*curl*"   ...

  4. NAND Flash Bad Block Table

    转:http://wiki.laptop.org/go/NAND_Flash_Bad_Block_Table 1 OLPC NAND Bad Block Management 1.1 Introduc ...

  5. 远程访问CENTOS的MYSQL数据库设置

    远程访问CENTOS的MYSQL数据库设置 mysql -u root grant all privileges on *.* to root@'%'identified by 'root'; 后面的 ...

  6. nginx -- 启动, 重启, 关闭

    Nginx的启动.停止与重启 重启:  nginx -s reload 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin] ...

  7. 避免"松鼠症"

    转载: http://www.cnblogs.com/freeflying/p/7725385.html ted演讲: http://www.bilibili.com/video/av294900/

  8. docker运行mysql

    http://blog.csdn.net/u011492260/article/details/77970445 第一步: 安装Docker:首先到docker官网下载适合自己电脑当前系统的版本,并安 ...

  9. SilverLight-3:SilverLight 备注

    ylbtech_silverlight 一.DebugSilverlight应用程序的方法: 第一种: 1.Silverlight引用命名空间:System.Diagnostics; 2.在程序必要的 ...

  10. oc的插件

    umbra https://umbra3d.com/ 很不错