Loading
2015. 7. 30. 16:10 - Twocap_Dev

Unity Test Tools - Unit Test Runner

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