Python

파이썬에서 테스트 코드를 만들면서 겪은 일들

이번 글에서는 파이썬에서 테스트 코드를 만들면서 겪었던 시행착오에 대해 소개하고자 한다. 여기서는 파이썬에 내장된 unittest를 이용한다.

테스트를 수행하는 기준은?

간단한 코드를 만들어 보자. 파일 이름은 aaa.py로 저장한다.

import unittest

class TestExample(unittest.TestCase):
    def test_a(self):
        self.assertEqual(1 == 2, False)

그리고 쉘에서 python -m unittest를 입력하면, 아무 테스트도 실행하지 않는다.

$ python -m unittest

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

왜 그럴까? unittest 라이브러리는 기본적으로 실행하는 top-level 디렉터리에서 test로 시작하는 파일을 찾아서 테스트를 수행한다. (참고) 일단 파일 이름을 test로 시작하도록 바꾼 뒤 아래와 같이 테스트해 보자.

Python 날짜/시간을 문자열로 만들기 위한 규칙 정리

파이썬을 쓰다 보면 문자열을 다루는 경우가 많은데, 문자열을 특정한 양식에 맞추어야 하는 경우가 종종 있었다. 이 경우 PyFormat과 같은 사이트를 참조한다. 하지만 날짜나 시간을 formatting 할 때는 상세한 규칙이 정리되어 있지 않아서 이 참에 정리를 해 보려고 한다.

문자열을 넣거나 숫자를 다루는 경우, PyFormat에 자세한 내용이 있어서 생략한다.

이 글에서는 현재 시간을 datetime 객체로 받고, 이를 가지고 날짜와 시간을 문자열로 formatting 해 볼 것이다. (아래 코드 참조)

import datetime
now = datetime.datetime.now()

이 글을 쓰는 시점에서 now의 내용은 다음과 같다.