🤔 PYTEST
현재 어떠한 platform에서 작동하고 있고, 어떤 에러가 발생했는지 그리고 마지막에 요약을 통해 총 몇 개의 테스트가 통과(pass), 실패(fail)했는 지와 함께 총 테스트 시간을 알려준다.
"pytest is a mature full-featured Python testing tool that helps you write better programs."
테스트 주도 개발이라고 한다.
반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다.
최근 이러한 방식으로 개발을 많이한다고 한다. 이를 가능케 하는 것이 pytest
이다.
$pip3 install -U pytest
x + 1 = 5에 3 + 1 = 5라고 하면 틀렸으니 오류를 찾아준 것이다
GitHub Actions
를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완전히 사용자 정의된 워크플로에서 작업을 결합할 수 있습니다.
github에서 공식적으로 설명한 바는 위와 같다.
다른 블로그를 참고하여 정리해보았다.
GitHub Actions를 사용하면 자동으로 코드 저장소에서 어떤 이벤트(event)가 발생했을 때 특정 작업이 일어나게 하거나 주기적으로 어떤 작업들을 반복해서 실행시킬 수도 있다.
누군가가 코드 저장소에 Pull Request
를 생성하게 되면 GitHub Actions
를 통해 해당 코드 변경분에 문제가 없는지 각종 검사를 진행할 수 있는 것이다. 어떤 새로운 코드가 메인(main
) 브랜치에 유입(push
)되면 GitHub Actions
를 통해 소프트웨어를 빌드(build
)하고 상용 서버에 배포(deploy
)할 수도 있습니다. 뿐만 아니라 매일 밤 특정 시각에 그날 하루에 대한 통계 데이터를 수집시킬 수도 있다.
이렇게 소프트웨어 프로젝트에서 지속적으로 수행해야하는 반복 작업들을 업계에서는 소위 CI/CD
라고 많이 줄여서 부른다. 사람이 매번 직접 하기에는 비효율적인데다가 실수할 위험도 있기 때문에 GitHub Actions
와 같은 자동화시키는 것이 유리하다.
도커에 관한 이야기는 저번에 최성기교수님의 유닉스 시간에 가상머신의 개념을 학습하면서 배웠다.
이게 수업 당시 ppt인데, 중간에 있는 것이 virtual box, UTM같은 것이고 마지막에 있는 것이 Docker였다.