zoukankan      html  css  js  c++  java
  • selenium

    测试用例是否执行通过,是通过判断测试得到的实际结果与预期结果是否相等决定的。unittest框架的TestCase类,提供以下方法用于判断测试结果:

    • assertEqual(a, b, msg)   断言a和b是否相等,如果不相等则测试失败。msg为可选参数,用于失败时打印信息       
    • assertNotEqual(a, b)    断言a和b是否相等,如果相等则测试失败
    • assertTrue(x)
    • assertFalse(x)
    • assertIs(a, b)     判断a和b是否为同一对象
    • assertIsNot(a, b)
    • assertIsNone(x)
    • assertIsNotNone(x)
    • assertIn(a, b)      a in b
    • assertNotIn(a, b)

    1. 举例如下:

    1. assertEqual()

     1 import unittest
     2 
     3 
     4 class Test(unittest.TestCase):
     5     def setUp(self):
     6         self.a = int(input('请输入一个数字:'))
     7 
     8     def test_1(self):
     9         self.assertEqual(self.a, 10, '您输入的不是10')   # 比较输入的数,是否等于10,如果不相等则输出msg中定义的信息
    10 
    11     def tearDown(self):
    12         pass
    13 
    14 
    15 if __name__ == '__main__':
    16     unittest.main()

    2. assertTrue()

     1 import unittest
     2 
     3 
     4 def is_prime(num):
     5     if num <= 1:
     6         return False
     7 
     8     for i in range(2, num):
     9         if num % i == 0:
    10             return False
    11 
    12     return True
    13 
    14 
    15 class Test(unittest.TestCase):
    16     def setUp(self):
    17         pass
    18 
    19     def test_1(self):
    20         self.assertTrue(is_prime(7), '这不是质数')   # 判断7是否是质数,若不是,则打印错误信息
    21 
    22     def tearDown(self):
    23         pass
    24 
    25 
    26 if __name__ == '__main__':
    27     unittest.main()

    3. assertIn()

     1 import unittest
     2 
     3 
     4 class Test(unittest.TestCase):
     5     def setUp(self):
     6         pass
     7 
     8     def tearDown(self):
     9         pass
    10 
    11     def test1(self):
    12         a = 'a dog'
    13         b = 'this is a dog'
    14         self.assertIn(a, b, '不包含')  # 判断a是否包含在b中,若不包含,则打印错误信息
    15 
    16 
    17 if __name__ == '__main__':
    18     unittest.main()

    2. 测试用例中断言的影响:

    import unittest
    
    
    class MyTest(unittest.TestCase):
        def test_case1(self):
            print('测试用例1,断言前')
            self.assertEqual(2,3)
            print('测试用例1, 断言后')    # 前一句断言失败,该行不执行
    
        def test_case2(self):
            print('测试用例2,断言前')    # 前一个测试用例断言失败,不影响其他测试用例执行
            self.assertEqual(2,2)
            print('测试用例2,断言后')     # 断言成功,该行执行
    
    
    if __name__ == '__main__':
        unittest.main()
  • 相关阅读:
    洛谷 P1886 滑动窗口 (单调队列)
    Acwing 288.休息时间 (环形DP)
    Acwing 287.积蓄程度 (树形DP换根)
    2020 Multi-University Training Contest 5 Tree (树形DP)
    剑指offer-JZ50-数组中的重复数字(C++)
    假设以下有一个结构体存放的是学生的记录,每条记录包括:学号、姓名、成绩
    剑指offer-JZ48-不用加减乘除做加法(C++)
    剑指offer-JZ51-构建乘积数组
    数据结构与算法->递归
    力扣(LeetCode)试题6-Z字形变换 C++代码
  • 原文地址:https://www.cnblogs.com/xiaochongc/p/12591109.html
Copyright © 2011-2022 走看看