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的单元测试 

  • 相关阅读:
    python
    UVA 10891——Game of Sum
    codeforces632E 小偷与商店
    NOIP2007——树网的核
    NOIP2014 提高组 Day2——寻找道路
    nodeoj2000——Freda's Chess
    BZOJ1012——[JSOI2008]最大数maxnumber
    poj2823-Sliding Window
    开博客了,大家好,这是ATHENS的博客。
    Linux简易APR内存池学习笔记(带源码和实例)
  • 原文地址:https://www.cnblogs.com/virusdefender/p/3647578.html
Copyright © 2011-2022 走看看