Unity Test Runner
Unity Test Tools > Unity Test Runner
처음 NUnit을 사용하시는 경우 NUnit의 Quick Start Guide 를 참조하세요.
Attributes (여기) , Assertions (여기)
NUnit 에 대해 블로그로 잘 설명해놓으신 분이 있어서 링크합니다. (여기)
[TestFixture] : Test Method 들을 가지고 있음을 명시. 클래스에 정의시 내부적으로 Test Method들이 존재하는지 스캔
[Category("Sample Tests")] : 이하 Test 들을 묶음
[Test] : Test Method 라는 명시, public void Func () 형태로, public, void 반환타입, 파라메터가 없는 함수여야 한다.
[TestFixtureSetUp] : 테스트 진행 전 먼저 호출되어 테스트 하는데 있어서 초기화 및 값을 지정하기 위해 사용
[TestFixtureTearDown] : 모든 테스트들이 마친 뒤에 마지막으로 호출.
[ExpectedException] : 테스트 실행시 정의한 예외가 만들어지는지를 테스트.
[ExpectedException(typeof(InvalidOperationException))]
[ExpectedException("System.InvalidOperationException")]
[ExpectedException(typeof(ArgumentException), ExpectedMessage = "expected message")]
[Ignore("현재 사용되지 않음")] : 테스트 진행을 무시
[TestCase] : 같은 테스트를 파라메터로 값을 입력하여 테스트할 수 있다. ([Test] 를 넣지 않아도 된다)
[TestCase("twocap", 1)]
[TestCase("twocap", 2)]
[TestCase("hearthstone", 5)]
[Test]
public void myTest( [Values(1,2,3)] int x, [Range(0.2, 0.6, 0.2)] double d)
{ ... }
[Values(1,2,3)] : 1,2,3 값을 대입하여 테스트한다 (테스트를 3번하게된다)
[Range(0.2, 0.6, 0.2)] : 0.2부터 0.6까지 0.2 간격으로 테스트를 진행하게된다 (0.2, 0.4, 0.6)
위의 함수는 총 9번의 테스트를 하게된다
[Test]
public void myTest( [Values(1,2,3)] int x, [Random(-1.0, 1.0, 5)] double d)
{ ... }
[Random(-1.0, 1.0, 5)] : -1.0 부터 1.0까지 5회 반복
위의 함수는 Values(3) x Random(5) = 15번 반복된다
[Timeout(1)] : 테스트가 지정된 시간(ms) 안에 수행되지 않을 경우 에러
[MaxTime(100)] : 100ms 를 초과할 경우 에러
[Datapoint] , [Datapoints] : [Theory] 에 쓰이는 인자값
[Theory] : 가설을 세웁니다. 가설이 증명되어야 pass
Assume.That( ... ) : 전제조건을 설정합니다
Asset.That( ... ) : 가설의 증명
Datapoint 값 중에 전제조건을 만족하지 못하면, 가설의 증명 실패. 하나의 Assertion이 실패하더라도 증명 실패
딱히 써야할 이유는 잘 못느끼겠습니다.
'Unity' 카테고리의 다른 글
앱스토어 준비하기 (0) | 2015.09.02 |
---|---|
Unity Test Tools - Assertion component (0) | 2015.07.30 |
Unity Test Tools - Intergration Test (0) | 2015.07.30 |
Unity Test Tools (0) | 2015.07.29 |
Microsoft Visual Studio Tools for Unity (0) | 2015.07.28 |