[Python/Unittest] Unittest
·
Minding's Programming/Knowledge
Unittest?Python의 테스트 프레임워크인 unittest는 코드 상의 특정 기능을 테스트하기 위해 작성된다. 일반적으로 특정 입력을 주고 예상된 출력이 나오는지의 형태로 테스트한다. 최근 CI/CD의 자동화와 안정성이 중요해지면서 전체 코드의 테스트 커버리지의 중요성도 함께 높아졌는데, 이 때 Python코드에서는 unittest가 일반적으로 사용된다. unittest는 테스트 케이스를 class 단위로 작성하고, 그 안에 포함된 여러가지 메서드를 통해 기능을 테스트한다. 아래 코드는 unittest의 예시다.import unittestclass TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqu..
[CI/CD] CI, CD 개념 및 Github Actions
·
Minding's Programming/Knowledge
SW 빌드란? 개발한 소프트웨어를 최종적으로 출시하기 위한 형태로 만드는 것이다. 참여 개발자들이 많을수록 이 과정은 더더욱 중요해지며, 개발이 끝나기 전부터 빌드를 해서 테스트를 진행하면 SW의 안정성이 증대된다. CI (Continuous Integration)CI는 Software Engineering Practice의 하나로, 아래와 같은 기본 원칙을 가지고 있다.코드 Repo는 하나만 유지한다. (Master or Main)코드변경을 최대한 자주 반영테스트를 최대한 추가빌드를 계속적으로 수행 (자동화)성공한 빌드의 프로덕션을 릴리스 (자동화)CD (Continuous Delivery): 배포만약 빌드가 실패할 경우새 코드의 commit으로 테스트가 실패하는 경우, 많은 회사들이 다시 빌드가 성공..