전체 글
-
이미지 퀄리티 체크하기이미지 처리 2021. 7. 2. 12:01
이미지 퀄리티를 체크해야 하는 경우 파이썬에서 제일 유명한 라이브러리는 다음과 같다. https://github.com/ocampor/image-quality ocampor/image-quality Image quality is an open source software library for Image Quality Assessment (IQA). - ocampor/image-quality github.com 사용법은 간단하다. >>> import imquality.brisque as brisque >>> import PIL.Image >>> path = 'path/to/image' >>> img = PIL.Image.open(path) >>> brisque.score(img) 4.954157281570..
-
GitHub Actions과 AWS CodeDeploy 사용하기CI, CD 2021. 6. 23. 16:41
1. GitHub Actions 지난 시간에 Github Action으로 django test 하기(CI) 를 이용해서 python django 코드를 자동으로 테스트하는 것까지 진행하였다. 혹시라도 못보신 분은 위 링크를 참고하시길 바란다. 2. AWS CodeDeploy https://aws.amazon.com/ko/codedeploy/ AWS CodeDeploy는 Amazon EC2, AWS Fargate, AWS Lambda 및 온프레미스 서버와 같은 다양한 컴퓨팅 서비스에 대한 소프트웨어 배포를 자동화하는 완전관리형 배포 서비스입니다. AWS CodeDeploy를 사용하면 새로운 기능을 더욱 쉽고 빠르게 출시할 수 있고, 애플리케이션을 배포하는 동안 가동 중지 시간을 줄이는 데 도움이 되며, 복..
-
Github Action으로 django test 하기(CI)Django testing 2021. 6. 4. 12:37
github 으로 들어간 후, 본인의 프로젝트로 들어가서 아래 이미지처럼 'Actions'를 선택합니다. 들어간 후, 처음엔 Django 에 관한 부분이 없지만 Continuous integration workflows 부분 중 'More continuos integration workflows' conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: could not connect to server: Connection refused E Is the server running on host "localhost" (::1) and accepting E TCP/IP connection..
-
Django 에서 pytest 사용하기Django 2021. 6. 3. 17:33
1. pytest 설치 지난 시간 이어서 pytest 를 사용하기 위해 새로 설치한다. pip install pytest-django pytest-django를 설치하면 자동적으로 최신버전의 pytest도 같이 설치된다. pytest-django는 pytest의 플러그인 시스템을 사용하고 특별한 설정 없이 설치 후에 바로 사용 가능하다. 설치 이후, pytest 란 명령어로 실행해보면 pytest 다음과 같이 django에서 설정을 해주지 않아서 오류가 발생하고 있는것을 확인된다. E django.core.exceptions.ImproperlyConfigured: Requested settings, but settings are not configured. You must either define the..
-
Django 기본 view 테스트Django testing 2021. 6. 2. 18:01
Django 를 개발하면서 제일 기본적인 view 를 생성하고 기본 결과를 테스트 한다. TestCase 에서 제공하는 client 라는 객체를 이용해서 get, post 같은 method를 테스트 할 수 있는데, 여기서는 우선 get을 테스트할 예정이다. 먼저 views 파일에서 AuthorListView 클래스를 생성합니다. from django.http import JsonResponse from django.shortcuts import render from django.views import generic from catalog.models import Author class AuthorListView(generic.ListView): model = Author paginate_by = 10 d..
-
django 테스트DB 없이 유닛 테스트하기Django testing 2021. 5. 31. 15:35
python manage.py test를 진행하면 다음과 같이 생각하고는 다르게 테스트 DB를 생성하고, 테스트 DB를 삭제하는 것을 확인할 수 있다. 이렇게 매번 테스트 DB를 생성하고, 삭제를 하게 되면 새로운 데이터에 한해서는 테스트가 가능하지만, 기존 DB에 있는 데이터를 테스트하기 어려운 문제점이 있다. django를 만들면서 생성되는 기본 앱, 여기서는 django_testing 라는 폴더에 test_runner.py 와 settings_test.py 두 파일을 생성한다. test_runner.py from django.test.runner import DiscoverRunner class TestRunner(DiscoverRunner): def setup_databases(self, **kw..
-
파이썬 TestCase, unit test 사용하기Django testing 2021. 5. 31. 11:58
1. Django TestCase Django에서 기본으로 제공하는 TestCase 클래스 django.test 에 포함된 클래스이며, TransctionTestCase 를 상속받아서 사용하고 있다. 데이터베이스를 사용하지 않는 경우는 SimpleTestCase 사용하는 것을 권장한다. classmethod TestCase.setUpTestData() 초기에 한번만 실행해서 초기 데이터 를 만드는 역할 setUp() test 할때마다 호출되서 해당 데이터셋을 만드는 역할 class YourTestClass(TestCase): @classmethod def setUpTestData(cls): Author.objects.create(first_name='test setUpTestData', last_name..
-
Testing 의 시작과 종류Django testing 2021. 5. 31. 11:48
1. Testing의 시작 Django 개발을 진행하다 보면 분명히 직접 확인해서 수동으로 테스트를 진행했음에도, 예기치 못한 버그가 발견되거나 배포에 대한 확신을 가지기 어려운 경우가 있다. 이러한 것을 미연에 방지하기 위해 testing 을 효과적으로 하기 위해 테스트 코드를 작성하고, 다른 사람이 특정 기능에 대해 이해를 할 때도 테스트 코드를 통해 어떤식으로 동작하는지 파악하기 위해 시작하게 되었다. 2. 일반적인 Testing의 종류 Unit tests (유닛 테스트) 독립적인 콤포넌트의 (성능이 아닌) 기능적인 동작을 검증한다. 흔히 class나 function 레벨로 수행한다. Regression tests ( 버그수정 확인 테스트 ) 기존에 보고된 버그들이 재발하는지 테스트한다. 각 테스트..