【Python + Selenium】之unittest测试用例满足条件,进行跳过测试Skip

直接上代码:

复制代码
__author__ = 'zc'

import unittest



class demoSkipTest(unittest.TestCase):
    a = 70
    b = 50

    print(a%b)
    def test_add(self):
        """加法"""
        result = self.a + self.b
        self.assertEqual(result, 40)

    def test_add_2(self):
        self.skipTest("强制跳过示例")
        result = self.a + self.b
        self.assertEqual(result, 9)

    @unittest.skipIf(a > b, u"a>b,正确就强制跳过")
    def test_sub(self):
        """减法"""
        result = self.a - self.b
        self.assertTrue(result == -30)

    @unittest.skipUnless(a%b == 2, u"错误就跳过")
    def test_div(self):
        """除法"""
        result = self.a / self.b
        self.assertTrue(result == 1)

    @unittest.expectedFailure
    def test_mul01(self):
        """乘法"""
        result = self.a * self.b
        self.assertTrue(result == 350)

    @unittest.expectedFailure
    def test_mul02(self):
        """乘法"""
        result = self.a * self.b
        self.assertTrue(result == 3500)


if __name__ == "__main__":
    unittest.main()
复制代码

 

运行结果:

复制代码
Fssxus
======================================================================
FAIL: test_add (__main__.demoSkipTest)
加法
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/xxx/run_safe_test.py", line 24, in test_add
    self.assertEqual(result, 40)
AssertionError: 120 != 40

----------------------------------------------------------------------
Ran 6 tests in 0.000s

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() 标记该测试预期为失败 ,如果该测试方法运行失败,则该测试不算做失败

 

 

 

 

 

 

 

 。

posted @   Owen_ET  阅读(1098)  评论(2编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2017-10-09 【PyCharm编辑器】之引用selenium包提示错误:Unresolved reference 'selenium' less... (Ctrl+F1)
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 模様 (TV size ver.) Ivy to Fraudulent Game
  3. 3 河口恭吾
  4. 4 愛してる 高鈴
  5. 5 一生所爱 卢冠廷,莫文蔚
  6. 6 世间美好与你环环相扣 柏松
  7. 7 理想三旬 陈鸿宇
  8. 8 不浪漫罪名 王杰
  9. 9 樱花树下 张敬轩
  10. 10 因为你在 达闻西乐队,福禄寿FloruitShow
  11. 11 悬溺 葛东琪
一生所爱 - 卢冠廷,莫文蔚
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 唐书琛

作曲 : 卢冠廷

从前现在过去了再不来

红红落叶长埋尘土内

开始终结总是没变改

天边的你飘泊白云外

苦海翻起爱恨

在世间难逃避命运

相亲竟不可接近

或我应该相信是缘分

情人别后永远再不来(消散的情缘)

无言独坐放眼尘世外(愿来日再续)

鲜花虽会凋谢(只愿)但会再开(为你)

一生所爱隐约(守候)在白云外(期待)

苦海翻起爱恨

在世间难逃避命运

相亲竟不可接近

或我应该相信是缘分

苦海翻起爱恨

在世间难逃避命运

相亲竟不可接近

或我应该相信是缘分

点击右上角即可分享
微信分享提示