StudyUnitTestManager 라는 새로운 스크립트를 만들어 본다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StudyUnitTestManager : MonoBehaviour
{
public int ReturnPlusValue(int a, int b)
{
int sum = a + b;
return sum;
}
public int ReturnMinusValue(int a, int b)
{
int sum = a - b;
return sum;
}
}
a와 b 값을 더하거나 뺄때의 값을 산출하는 함수를 만들었다.
저번에 만들어 뒀던 NewTestScript 안에 내용을 전부 지운 후 새롭게 스크립트를 작성한다
using System.Collections;
using System.Collections.Generic;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
namespace Tests
{
public class NewTestScript
{
/// <summary>
/// 테스트 이름을 한글로 하여 테스트 할 때 어떤 테스트 인지 더욱 직관적으로 확인 할 수 있게 하였다.
/// </summary>
[Test]
public void 덧셈성공()
{
StudyUnitTestManager studyUnityTestManager = new StudyUnitTestManager();
// 1 + 2 값이 3과 같은지 테스트 한다.
Assert.AreEqual(studyUnityTestManager.ReturnPlusValue(1, 2), 3);
}
[Test]
public void 뺄셈성공()
{
StudyUnitTestManager studyUnityTestManager = new StudyUnitTestManager();
// 1 - 2 값이 -1과 같은지 테스트 한다.
Assert.AreEqual(studyUnityTestManager.ReturnMinusValue(1, 2), -1);
}
}
}
이렇게 작성을 하면 StudyUnitTestManager를 찾을 수 없다는 에러가 뜬다.
Assembly 를 찾을 수 없다는 에러가 뜨는데 Assembly에 대해서 자세히 아는 바 가 없어 Unity Manual 링크를 남겨둔다.
나중에 좀 더 자세히 찾아 본 후 이 부분도 작성 해 보도록 하겠다
https://docs.unity3d.com/kr/2019.4/Manual/ScriptCompilationAssemblyDefinitionFiles.html
어셈블리 정의 - Unity 매뉴얼
프로젝트의 스크립트를 어셈블리에 정리하기 위해 어셈블리 정의를 만들 수 있습니다. 폴더에 어셈블리 정의 에셋을 만들면 Unity는 폴더의 모든 스크립트를 이용하여 별도의 관리되는 어셈블리
docs.unity3d.com
일단 Assembly 에러를 해결 하기 위해 Assets 폴더에 만들어 둔 StudyUnitTestManager 를 Tests 폴더에 넣어주면
에러가 사라진다.
지금은 임시방편으로 이렇게 작업 하지만 나중에 Tests폴더 외에 있는 스크립트도 테스트 할 수 있는 방법을 리뷰 하도록 하겠다
TestRunner 창을 보면 덧셈성공, 뺄셈성공 테스트가 생성 된 걸 볼 수 있다
Run All을 클릭해보면 테스트 성공이 나타난다.
뺄셈성공의 합계 값을 변경 한 후
[Test]
public void 뺄셈성공()
{
StudyUnitTestManager studyUnityTestManager = new StudyUnitTestManager();
Assert.AreEqual(studyUnityTestManager.ReturnMinusValue(1, 2), 0);
}
다시 테스트를 해보면
테스트 실패가 뜨며 왜 실패 했는지 결과도 하단에 나타난다.
새로운 스크립트를 사용하여 Unit Test 완료
댓글