zoukankan      html  css  js  c++  java
  • unittest指定跳过某些方法

    背景:在执行单元测试中,有些方法执行耗时,不想全部执行,想忽略执行,那就需要跳过某方法执行

    1.无条件跳过某方法

    @unittest.skip("skipping")

    2.使用变量的方式,指定忽略测试方法

    a=10
    @unittest.skipIf(a > 5, "condition is not satisfied!")

    表示if a>5为真,就跳过此方法

    3.指定测试平台忽略测试方法  

    @unittest.skipUnless(sys.platform.startswith("Linux"), "requires Linux")
    

      如果不是liunx ,就直接跳过,python可以使用sys,查看自己的平台信息

     测试方法

    import random
    import unittest
    import sys
    
    class TestSequenceFunctions(unittest.TestCase):
        a = 10
        def setUp(self):
            self.seq = list(range(10))
    
        @unittest.skip("skipping") # 无条件忽略该测试方法
        def test_shuffle(self):
            random.shuffle(self.seq)
            self.seq.sort()
            self.assertEqual(self.seq, list(range(10)))
            self.assertRaises(TypeError, random.shuffle, (1, 2, 3))
    
        # 如果变量a > 5,则忽略该测试方法
        @unittest.skipIf(a > 5, "condition is not satisfied!")
        def test_choice(self):
            element = random.choice(self.seq)
            self.assertTrue(element in self.seq)
    
        # 除非执行测试用例的平台是Linux平台,否则忽略该测试方法  win32是windows
        @unittest.skipUnless(sys.platform.startswith("Linux"), "requires Linux")
        def test_sample(self):
            with self.assertRaises(ValueError):
                random.sample(self.seq, 20)
            for element in random.sample(self.seq, 5):
                self.assertTrue(element in self.seq)
    
    
    if __name__ == '__main__':
         unittest.main()
    

      测试结果

    
    
  • 相关阅读:
    014.Nginx跨域配置
    013.Nginx动静分离
    附002.Nginx代理相关模块解析
    附001.Nginx location语法规则
    016.Nginx HTTPS
    015.Nginx重定向
    Blazor带我重玩前端(四)
    数据结构中的树(二叉树、二叉搜索树、AVL树)
    Flask前后端分离项目案例
    LeetCode-位运算相关题解
  • 原文地址:https://www.cnblogs.com/chongyou/p/12497197.html
Copyright © 2011-2022 走看看