UnityTestRunner를 도입하여 T·D·D 입문해 보기
4509 단어 UnityTestRunnerTDDC#Unity
소개
T·D·D!
T·D·D!
USA적인 김으로 TDD 해보자.
나중에.
@t_wada
어떻게 TDD가 어떻게 해야 하는지 wikipedia 당 봐.
환경
Unity 2018.3.4f1
참고
Unity 사용은 전원 Unity Test Runner를 사용해라! 폭속의 트라이 & 에러 환경이다! - Qiita
Unity에서 제대로 테스트를 작성하고 싶은 사람들을위한 요약 - Qiita
Unity Test Runner - Unity 매뉴얼
위의 링크를 참고하여 Unity에서 작동하는 테스트 코드를 작성합니다.
했던 일
먼저 실패한 테스트를 작성합니다.
먼저 UnityTestRunner를 시작하고 테스트 코드 저장 폴더, 스크립팅 버튼을 눌러 간략한 테스트 코드만 작성된 스크립트를 만듭니다.
그 추가된 클래스 안에, 우선 이런 바보같이 반드시 실패하는 코드를 써 보겠습니다
// バカみたいに失敗するテスト
[Test]
public void NewTestScriptSimpleRun()
{
Assert.IsTrue(false);
}
UnityTestRunner로 테스트를 실행합니다.
Unity 테스트 완전한 이해 (실제 기계, 자동, 합리적인 테스트에 익숙한 이야기) - Speaker Deck
예, 훌륭하게 추가한 코드만 실패했습니다. 했어.
콘솔에는 다음과 같은 오류가 발생합니다.
Assertion failure. Value was False
Expected: True
UnityEngine.Assertions.Assert:IsTrue(Boolean)
kt.Tests.NewTestScript:NewTestScriptSimpleRun() (at Assets/Tests/NewTestScript.cs:26)
System.Reflection.MethodBase:Invoke(Object, Object[])
NUnit.Framework.Internal.Reflect:InvokeMethod(MethodInfo, Object, Object[])
NUnit.Framework.Internal.MethodWrapper:Invoke(Object, Object[])
NUnit.Framework.Internal.Commands.TestMethodCommand:RunNonAsyncTestMethod(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestMethodCommand:RunTestMethod(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestMethodCommand:Execute(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestActionCommand:Execute(ITestExecutionContext)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
제대로 의도대로 테스트가 실패하는지 확인한 후, 이번에는 성공하는 코드를 작성합니다.
우선 바보처럼 성공하는 코드를 작성해 보겠습니다.
// バカみたいに成功するテスト
[Test]
public void NewTestScriptSimpleRun()
{
Assert.AreEqual(2, 1+1);
}
성공했습니다. 이번에는 내용에 의미가없는 코드이지만,
구현 → 실패 테스트 → 기능 테스트 → 코드 확장 → 실패 테스트 → 기능 테스트 →...
상기를 반복하는 것으로 많은 테스트가 행해져, 보수성이 높고 모듈화된 코드를 쓸 수 있다고 생각합니다.
제대로 의미가 있는 테스트 코드를 써 가는 경우, 상기한 참고 링크처를 바탕으로 테스트 기능을 확충해 가면 좋을까라고 생각합니다.
이번 샘플의 리포지토리는 아래와 같습니다.
Reference
이 문제에 관하여(UnityTestRunner를 도입하여 T·D·D 입문해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KTA552/items/34b39d4d796c43336fa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Unity 사용은 전원 Unity Test Runner를 사용해라! 폭속의 트라이 & 에러 환경이다! - Qiita
Unity에서 제대로 테스트를 작성하고 싶은 사람들을위한 요약 - Qiita
Unity Test Runner - Unity 매뉴얼
위의 링크를 참고하여 Unity에서 작동하는 테스트 코드를 작성합니다.
했던 일
먼저 실패한 테스트를 작성합니다.
먼저 UnityTestRunner를 시작하고 테스트 코드 저장 폴더, 스크립팅 버튼을 눌러 간략한 테스트 코드만 작성된 스크립트를 만듭니다.
그 추가된 클래스 안에, 우선 이런 바보같이 반드시 실패하는 코드를 써 보겠습니다
// バカみたいに失敗するテスト
[Test]
public void NewTestScriptSimpleRun()
{
Assert.IsTrue(false);
}
UnityTestRunner로 테스트를 실행합니다.
Unity 테스트 완전한 이해 (실제 기계, 자동, 합리적인 테스트에 익숙한 이야기) - Speaker Deck
예, 훌륭하게 추가한 코드만 실패했습니다. 했어.
콘솔에는 다음과 같은 오류가 발생합니다.
Assertion failure. Value was False
Expected: True
UnityEngine.Assertions.Assert:IsTrue(Boolean)
kt.Tests.NewTestScript:NewTestScriptSimpleRun() (at Assets/Tests/NewTestScript.cs:26)
System.Reflection.MethodBase:Invoke(Object, Object[])
NUnit.Framework.Internal.Reflect:InvokeMethod(MethodInfo, Object, Object[])
NUnit.Framework.Internal.MethodWrapper:Invoke(Object, Object[])
NUnit.Framework.Internal.Commands.TestMethodCommand:RunNonAsyncTestMethod(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestMethodCommand:RunTestMethod(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestMethodCommand:Execute(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestActionCommand:Execute(ITestExecutionContext)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
제대로 의도대로 테스트가 실패하는지 확인한 후, 이번에는 성공하는 코드를 작성합니다.
우선 바보처럼 성공하는 코드를 작성해 보겠습니다.
// バカみたいに成功するテスト
[Test]
public void NewTestScriptSimpleRun()
{
Assert.AreEqual(2, 1+1);
}
성공했습니다. 이번에는 내용에 의미가없는 코드이지만,
구현 → 실패 테스트 → 기능 테스트 → 코드 확장 → 실패 테스트 → 기능 테스트 →...
상기를 반복하는 것으로 많은 테스트가 행해져, 보수성이 높고 모듈화된 코드를 쓸 수 있다고 생각합니다.
제대로 의미가 있는 테스트 코드를 써 가는 경우, 상기한 참고 링크처를 바탕으로 테스트 기능을 확충해 가면 좋을까라고 생각합니다.
이번 샘플의 리포지토리는 아래와 같습니다.
Reference
이 문제에 관하여(UnityTestRunner를 도입하여 T·D·D 입문해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KTA552/items/34b39d4d796c43336fa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// バカみたいに失敗するテスト
[Test]
public void NewTestScriptSimpleRun()
{
Assert.IsTrue(false);
}
Assertion failure. Value was False
Expected: True
UnityEngine.Assertions.Assert:IsTrue(Boolean)
kt.Tests.NewTestScript:NewTestScriptSimpleRun() (at Assets/Tests/NewTestScript.cs:26)
System.Reflection.MethodBase:Invoke(Object, Object[])
NUnit.Framework.Internal.Reflect:InvokeMethod(MethodInfo, Object, Object[])
NUnit.Framework.Internal.MethodWrapper:Invoke(Object, Object[])
NUnit.Framework.Internal.Commands.TestMethodCommand:RunNonAsyncTestMethod(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestMethodCommand:RunTestMethod(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestMethodCommand:Execute(ITestExecutionContext)
NUnit.Framework.Internal.Commands.TestActionCommand:Execute(ITestExecutionContext)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
// バカみたいに成功するテスト
[Test]
public void NewTestScriptSimpleRun()
{
Assert.AreEqual(2, 1+1);
}
Reference
이 문제에 관하여(UnityTestRunner를 도입하여 T·D·D 입문해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KTA552/items/34b39d4d796c43336fa2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)