Python/2.7 information

unittest. 테스트

qkqhxla1 2017. 2. 25. 14:57

unittest모듈을 사용해서 테스트를 할 수 있다.


공식 doc : https://docs.python.org/2/library/unittest.html



해야될 것들.


1. 클래스를 구현해서 테스트를 하는데, unittest.TestCase를 상속받아야 한다. 


2. 테스트할 함수들의 이름은 test로 시작하도록 구현한다. 이름이 test로 시작하지 않으면 테스트가


되지 않는다.


3. self.failUnless나 self.failIf등등의 메소드를 상속받으며 이 안에 테스트할 함수를 인자로 넣는다.


# -*- encoding: cp949 -*-

import unittest


# Here's our "unit".

def IsOdd(n):

    return n % 2 == 1


# Here's our "unit tests".

class IsOddTests(unittest.TestCase):


    def stestOne(self):

        self.failUnless(IsOdd(3))


    def testTwo(self):

        self.failIf(IsOdd(0))


    def testth(self):

        self.failIf(IsOdd(3))


    def testthssss(self):

        self.failIf(IsOdd(2))


def main():

    unittest.main()


if __name__ == '__main__':

    main()


처럼 구현되며, stestOne함수는 test로 이름이 시작하기 않기에 실행되지 않는다.


4. 코드가 실행 도중 실패를 하더라도 뒤의 테스트가 진행된다. 위의 실행결과는


.F.

=================================

~~~~

등으로 나오는데 .은 성공적으로 테스트가 되었다는 소리인것 같고, F는 실패의 경우. E는 에러가 난 경우이다. E는 함수에 인자가 제대로 들어가지 않아서 나는 그런 에러다.


나머지는 공식문서를 조금 더 살펴보자...