Skip to content

Unity Testing

JungSu Kim edited this page Jan 26, 2016 · 1 revision

Reference

Unit Testing

  • TDD에 대한 이해가 필요함
    • TDD의 문화에 대한 이해가 필요함
    • TDD에서 사용되는 용어와 용어들이 왜? 사용되는지 이해해야 함
    • Arrange/Act/Assert. Mock, Fake, Stub 등...
    • 시스템 설계 또한 TDD에 적합한 형태로 설계되어야 함
  • Visual Studio와 연동해서 Unit Test를 실행할 수 있는 방법은 없을까? Unity랑 VS 왔다 갔다하기 짱남
    • UnitTestRunner 설정을 "Run on Recompile"로 변경해 놓으면 유니티 컴파일 시점마다 테스트를 진행함
    • 위 설정대로 하면 조금은 사용하기 편리해 짐
  • 빌드시에 테스트 리소스(소스)들을 분리할 수 있는지?
    • 테스트 코드들은 Editor 폴더밑에 작성되어야 하기 때문에 빌드시에는 포함되지 않음
  • 단위 테스트에 필요한 도구들
    • Unity Test Tools에서는 NUnit, NSubstitute 도구를 사용함
    • NSubstitue로 Mock, Fake, Stub 객체를 생성할 수 있음
  • Headless running (batch mode)
    • resultFilePath
    • filter
    • categories
    • ex) Unity.exe -batchmode -nographics -executeMethod UnityTest.Batch.RunUnitTests -resultFilePath=C:\temp\results.xml -quit

Assertion component

  • 유니티 에디터만을 이용해서 게임오브젝트의 정보를 비교하는 테스트

Integration Test

  • https://bitbucket.org/Unity-Technologies/unitytesttools/wiki/IntegrationTestsRunner
  • 각 오브젝트를 테스트 조건에 맞춰서 검증
  • 테스트 로딩시간이 길기 때문에 적용여부는 조금 생각해 보자
  • 활용할 대상
    • UI 시뮬레이션 테스트
    • UI를 시뮬레이션 하면서 각 오브젝트가 정상적으로 로딩되는지 확인
  • Headless running (batch mode)
    • testscenes
    • pattern : "*Test[s].unity"
    • targetPlatform
    • resultsFileDirectory
    • ex) Unity.exe -batchmode -executeMethod UnityTest.Batch.RunIntegrationTests -testscenes=TestScene1,TestScene2 -targetPlatform=StandaloneWindows -resultsFileDirectory=C:\temp\
Clone this wiki locally