Vscode 에서 Unittest 실행
Python Unittest
unittest 를 작성하는 방법은 ref. 2 를 참고하면 된다.sys.path 추가
여기서 directory structure 는 아래처럼 되어 있다.- workspace | +--------- src | +----------test
그래서 unittest 에서 필요한 module 을 import 할 때 sys.path를 추가해줘야 한다.
import os import sys sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..'))
vscode 에서 unittest 를 실행
아래처럼 Workspace 의 settings.json 을 설정해 주자.workspace settings.json
{ ... "python.unitTest.unittestEnabled": true, "python.unitTest.unittestArgs": [ "-v", "-s", "test", "-p", "*.py" ], }
- -s 는 test 들이 있는 곳의 root folder 이다.
- -p 는 test python file 의 이름에 대한 pattern 을 설정해 준다.
설정이 제대로 되면 unittest 를 vscode 가 알아서 찾아준다. 그러면 아래처럼 Run Test 가 표시된다.
참고로 강제로 찾게하는 것은 아래 그림에서 보이는 'Run Tests' 부분을 눌러서 'Discover Unit Test' 를 할 수도 있다.
error message
참고로, vscode 에서 보여주는 error message 는 이유를 제대로 표현하지 못한다. 내경우에는 virtualenv 에 필요한 module 들이 설치되지 않았었는데, 그에 해당하는 error 를 제대로 보여주지 못했다.그러므로 먼저 unittest 를 그냥 python 으로 실행해보고 잘 동작하면 그 이후에 vscode 의 run test 를 이용하면 하는 것이 낫다고 생각한다.
Mockup
References
- Unit Testing Python in Visual Studio Code
- 26.4. unittest — Unit testing framework — Python 3.6.3 documentation
댓글 없음:
댓글 쓰기