[컴][파이썬] vscode 에서 파이썬 유닛테스트 설정

visual studio code vs code 에서 유닛테스트 / 간략한 파이썬 유닛테스트 사용법 / python unittest mock up


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

  1. Unit Testing Python in Visual Studio Code
  2. 26.4. unittest — Unit testing framework — Python 3.6.3 documentation

댓글 없음:

댓글 쓰기