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

 

posted @ 2014-04-05 21:24  virusdefender  阅读(275)  评论(0编辑  收藏  举报