> For the complete documentation index, see [llms.txt](https://help.goorm.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.goorm.io/ko/edu-student/quiz-type/unit-test.md).

# 유닛 테스트 문제 유형

{% hint style="info" %}
**유닛테스트 프로그래밍 문제**는 채점모드, 제출모드 그리고 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice.md)
{% endcontent-ref %}

### 유닛테스트  문제 &#x20;

유닛테스트 프로그래밍 문제에서는 단위 테스트 도구인 JUnit을 지원하고 있으며, \
이를 이용하여 테스트 코드를 만들어 사용자 코드를 테스트하는 방식입니다.&#x20;

사용자가 실습 내용에 맞게 Class와 Method를 구현하면, \
강의자가 지정한 TestCode가 Class와 Method를 테스트하는 방식입니다.&#x20;

![](/files/-MLHbutj_effCO1AGfIu)

TestCode는 강의자가 문제를 생성 시에 옵션을 통해 사용자에게 \
보여줄지/보여주지 않을지 결정할 수 있습니다.

TestCode가 보이는 경우, 그 TestCode에 맞게 사용자 코드를 작성하면 되며, \
이것이 바로 TDD(=Test Driven Development)입니다. \
테스트 코드를 먼저 작성한 후, 그에 맞게 어플리케이션 코드(=사용자 코드)를 작성하는 것입니다.&#x20;

문제가 채점모드로 만들어진 경우, 제출 시에 채점 결과를 테스트 메소드 별로 확인할 수 있습니다. \
채점 결과가 오답인 경우, 문제의 옵션에 따라 틀린 이유에 대한 메시지를 열람할 수 있습니다.
