zoukankan      html  css  js  c++  java
  • python的单元测试

    http://www.drdobbs.com/testing/unit-testing-with-python/240165163

    http://blog.jobbole.com/55180/

    1.import unittest
    2.定义一个继承自unittest.TestCase的测试用例类
    3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
    4.定义测试用例,名字以test开头。
    5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
    6.调用unittest.main()启动测试
    7.如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。

    如果你有这么一段代码

    #coding=utf-8
    def is_prime(number):
        if number < 2:
            return False
        for element in range(2, number):
            if number % element == 0:
                return False
    
        return True
    
    def print_next_prime(number):
        index = number
        while True:
            index += 1
            if is_prime(index):
                print index
                

    可以使用这样的测试代码

    #coding=utf-8
    
    import unittest
    from primes import is_prime
    
    class PrimeTestCase(unittest.TestCase):
    
        def test_is_five_prime(self):
            self.assertTrue(is_prime(5))
    
        def test_is_four_non_prime(self):
            self.assertFalse(is_prime(4), msg="Four is not prime")
    
        def test_is_zero_not_prime(self):
            self.assertFalse(is_prime(0))
    
        def test_negative_number(self):
            for index in range(-1, -10, -1):
                self.assertFalse(is_prime(index))
    
    if __name__ == "__main__":
        unittest.main()

    下面是unittest模块的常用方法:
    assertEqual(a, b)     a == b      
    assertNotEqual(a, b)     a != b      
    assertTrue(x)     bool(x) is True      
    assertFalse(x)     bool(x) is False      
    assertIs(a, b)     a is b     2.7
    assertIsNot(a, b)     a is not b     2.7
    assertIsNone(x)     x is None     2.7
    assertIsNotNone(x)     x is not None     2.7
    assertIn(a, b)     a in b     2.7
    assertNotIn(a, b)     a not in b     2.7
    assertIsInstance(a, b)     isinstance(a, b)     2.7
    assertNotIsInstance(a, b)     not isinstance(a, b)     2.7

    https://docs.djangoproject.com/en/1.5/topics/testing/overview/

    django的单元测试 

  • 相关阅读:
    优启通(UEFI版)重装系统
    Beta阶段项目总结
    第二个阶段团队绩效管理
    第二阶段冲刺10天 第十天
    第二阶段冲刺10天 第九天
    第二阶段冲刺10天 第八天
    第二阶段冲刺10天 第七天
    第二阶段冲刺10天 第六天
    第二阶段冲刺10天 第五天
    第二阶段冲刺10天 第四天
  • 原文地址:https://www.cnblogs.com/virusdefender/p/3647578.html
Copyright © 2011-2022 走看看