public class NewTestScript
{
[Test]
public void NewTestScriptSimplePasses()
{
var obj = new Counter();
obj.AddOne();
Assert.AreEqual(1, obj.value);
}
[UnityTest]
public IEnumerator NewTestScriptWithEnumeratorPasses()
{
var obj = new GameObject();
var mover = obj.AddComponent<CubeMover>();
mover.MoveRight();
yield return null;
Assert.AreEqual(new Vector3(1, 0, 0), obj.transform.position);
}
}
테스트 스크립트의 함수에 Test 또는 UnityTest 어트리뷰트를 지정하면 Test Runner에서 감지할 수 있다. 내부의 Assert의 결과에 의해 성공/실패 여부가 결정된다.
static int[] values = new int[] { 1, 5, 6 };
[UnityTest]
public IEnumerator MyTestWithMultipleValues([ValueSource(nameof(values))] int value)
{
yield return null;
}
파라미터화 테스트를 실행할 수 있다. 위 코드에선 1, 5, 6의 값이 테스트 코드에 입력되어 3번 테스트를 진행한다. UnityTest에서는 ValueSource만 지원한다.
Unity Test Framework
nUnit.Framework