Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- terraform 문법
- 테라폼 기본 문법
- BIG-O NOTATION
- 파이썬
- test
- python
- docker
- iterm2 단축키
- 빅오노테이션
- minikube 설치 방법
- customize
- docker-compose
- AWS
- iterm2 shortcuts
- zshrc
- Django
- DynamoDB
- linux
- Shell
- 컨테이너
- minikube mac 설치
- terraform
- 테라폼 문법
- 도커
- Bash
- zsh
- nosql
- 도커컴포즈
- sftp란
- server
Archives
- Today
- Total
sklass의 s-class 프로그래밍 blog
[Django] test 명령어 argument customize 본문
django에서 test명령어를 실행할때, argument, 즉 option을 추가해서 명령어를 실행하고 싶을때가 있습니다. 이런경우, DiscoverRunner라는 Django Test의 최상위 클래스의 add_arguments()라는 classmethod를 override하면 됩니다. 아래에 예시를 참고하세요.
tests/runner.py 에 아래 코드를 추가해줍니다.
from django.conf import settings
from django.test.runner import DiscoverRunner
class TestRunner(DiscoverRunner):
def __init__(self, mol_id, conformer_id, **kwargs):
super().__init__(**kwargs)
print("Setting hitstest options...")
self.mol_id = mol_id
self.conformer_id = conformer_id
@classmethod
def add_arguments(cls, parser):
DiscoverRunner.add_arguments(parser)
parser.add_argument(
"--mol_id",
default=None,
help="submit your mol_id for result_search, result_detail or result_download testing.",
type=str,
)
parser.add_argument(
"--conformer_id",
default=None,
help="submit your conformer_id for result_download or result_ngl testing.",
type=str,
)
def setup_test_environment(self, **kwargs):
super(TestRunner, self).setup_test_environment(**kwargs)
settings.TEST_SETTINGS = {
"mol_id": self.mol_id,
"conformer_id": self.conformer_id,
}
이제 위에서 추가한 arguments를 명령어에 추가해야되는데 그냥 argument만 추가하면 안되고, --testrunner를 DiscoverRunner를 override한 클래스명으로 명시해주고 추가해주어야합니다. 이번 예에서는 TestRunner로 DiscoverRunner를 override해줬음으로, 아래와 같은 명령어를 실행하면됩니다.
$ python3 manage.py test --testrunner=tests.runner.TestRunner --mol_id="mol1"
'django' 카테고리의 다른 글
[django] drf의 request.data.get() (0) | 2021.10.22 |
---|---|
[Django] unittest @tag (0) | 2021.09.11 |
[Django] Signals (0) | 2021.09.10 |
[Django] manage.py 명령어 Customize (0) | 2021.09.10 |
[Django] select_for_update()를 활용한 동시성 제어 (0) | 2021.08.24 |