
파이썬 unittest 단위 테스트 프레임워크는 테스트 메서드 내부의 반복문에서 부분 테스트(subtest)를 사용할 수 있도록 지원한다. # 테스트 메서드의 반복문 예제 예를 들어 다음 테스트는 for문에 i가 짝수인지를 확인하는 테스트 코드가 있다. import unittest class NumbersTest(unittest.TestCase): def test_even(self): for i in range(0, 6): self.assertEqual(i % 2, 0) test_even (__main__.NumbersTest) ... FAIL ====================================================================== FAIL: test_even (__..

파이썬의 unittest 단위 테스트 프레임워크는 테스트 결과를 TestResult 개체로 확인할 수 있다. TestResult 객체는 TestRunner.run() 메서드에 의해 반환된다. 보통 테스트를 실행하면 콘솔을 통해서 테스트 결과가 출력된다. 만일 테스트 결과를 얻어서 처리하고 싶다면 TestResult를 사용하면 된다. # 테스트 실행 코드 다음은 이번 포스트에서 사용할 테스트 실행 코드이다. import unittest class TestCase(unittest.TestCase): def test_method1(self): print("test_method1") self.assertTrue(True) def test_method2(self): print("test_method2") self..

파이썬 unittest 단위 테스트 프레임워크는 클래스와 모듈에서 테스트 스위트를 만드는 데 사용되는 TestLoader 클래스가 있다. 기본적으로 unittest.defaultTestLoader 인스턴스는 unittest.main() 메서드가 호출될 때 자동으로 생성된다. 그러나 명시적 테스트 인스턴스를 사용하면 특정 속성을 사용자 정의할 수 있다. # 예제로 사용할 테스트 케이스 정의하기 import unittest class TestCase1(unittest.TestCase): def test_testcase1_1(self): print("test_testcase1_1") self.assertTrue(True) def test_testcase1_2(self): print("test_testcase1..

파이썬 unittest 단위 테스트 프레임워크는 테스트를 건너뛸 수 있는 기능을 제공한다. # 테스트를 건너뛰는 방법 unittest는 다양한 방법으로 테스트를 건너뛰게 만들 수 있다. skip 데코레이터 사용하기 skipTest 호출하기 사용자 정의 건너뛰기 데코레이터를 만들어 사용하기 # skip 데코레이터 사용하기 unittest는 테스트를 건너뛰기 위해 다양한 skip 데코레이터를 제공한다. @unittest.skip(resaon) : 조건 없이 데코레이트된 테스트를 건너뛴다. @unittest.skipIf(condition, resaon) : 조건이 참이면, 데코레이트된 테스트를 건너뛴다. @unittest.skipUnless(condition, reason) : 조건이 참이 아니면, 데코레이트..

파이썬 unittest 단위 테스트 프레임 워크는 기존에 작성했던 테스트 함수를 수정하지 않고 unittest로 실행할 수 있도록 지원한다. # 테스트 함수 예제 만일 unittest를 사용하기 전에 다음과 같은 테스트 함수를 만들었다고 가정해 보자. def testSomething(): something = makeSomething() assert something.name is not None # ... # 테스트 함수를 unittest에 추가하기 테스트 함수를 unittest에 추가하려면 unittest의 FunctionTestCase를 사용하면 된다. import unittest def testSomething(): name = 1 # ... assert name is not None if __n..

파이썬의 unittest 단위 프레임 워크는 테스트 스위트(test suite)를 제공한다. 보통 테스트 케이스를 실행하면, 해당 테스트 케이스의 모든 테스트 메서드를 실행한다. 하지만 테스트 스위트는 테스트하려는 기능에 따라 원하는 테스트들을 모아서 실행할 수 있게 된다. 테스트 스위트는 다음과 같은 항목을 같이 묶을 수 있다. 테스트 메서드 테스트 스위트 테스트 케이스 # 테스트 스위트에서 사용할 테스트 케이스 테스트 스위트에 사용할 테스트 케이스는 다음과 같다. import unittest class TestCase1(unittest.TestCase): def test_testcase1_1(self): print("test_testcase1_1") self.assertTrue(True) def te..

파이썬에서 테스트 주도 개발(TDD)을 적용하기 위해 unittest 단위 테스트 프레임워크를 사용해 보자. # 테스트 케이스 단위 테스트의 기본은 unittest.TestCase를 상속한 테스트 케이스 클래스가 된다. 이를 테스트 케이스라고 한다. 테스트 케이스는 각 테스트 메서드에 동일하게 필요한 준비(setUp)와 그와 관련된 정리 동작(tearDown)을 정의한 텍스트 픽스처를 가질 수 있다. 테스트 케이스는 특정 테스트 코드를 수행하는 이름이 test로 시작하는 테스트 메서드를 가진다. 그리고 테스트 메서드는 1개 이상의 assert 메서드를 가져야 한다. 테스트가 실패한다면 그 이유를 설명한 메시지가 포함된 예외가 발생한다. 다음은 테스트 케이스를 설명하기 위한 간단한 예제 코드가 된다. im..

파이썬에서 테스트 주도 개발(TDD)을 적용하기 위해서 unittest 단위 테스트 프레임워크를 사용해 보자. # unittest는? unittest 프레임워크는 자바의 JUnit으로부터 영감을 받아 다른 언어의 주요 단위 테스트 프레임워크와 비슷한 특징을 가지고 있다. niitest는 파이썬을 설치 시 내장되어 있기 때문에 바로 사용할 수 있다는 장점도 있다. # unittest 중요한 개념 ## 텍스트 픽스처 (test fixture) 텍스트 픽스처는 1개 또는 그 이상의 테스트를 수행할 때 필요한 준비와 그와 관련된 정리 동작에 해당한다. setUp(), tearDown(), setUpClass(), tearDownClass()가 여기에 해당한다. ## 테스트 케이스 (test case) 테스트 케..