테스트 서비스는 Roblox가 엔진에서 애널리틱 테스트를 수행하기 위해 내부적으로 사용하는 서비스입니다. 이를 통해 게임 내에서 세련된 테스트를 작성할 수 있습니다.
마크로
TestService(via Class.TestService:Run() ) 내에서 실행되는 스크립트는 테스트 서비스에서 직접 함수를 호출하는 특수 마크로에 액세스할 수 있습니다. 마크로는 대부분 코드를 다시 작성할 필요 없이 큰 블록을 나타냅니다.
RBX_검사
이 맥로는 TestService:Check() 함수를 호출하여 테스트합니다.
<tr>
<td>RBX\_CHECK(조건)</td>
<td>조건부 변수 = 예</td>
</tr>
<tr>
<td>RBX\_CHECK\_MESSAGE(조건, 실패 메시지)</td>
<td>조건부 변수 = 예</td>
</tr>
<tr>
<td>RBX\_CHECK\_THROW(코드)</td>
<td>pcall(function() 코드 종료) == false</td>
</tr>
<tr>
<td>RBX\_CHECK\_NO\_THROW(코드)</td>
<td>pcall(function() 코드 종료) == true</td>
</tr>
<tr>
<td>RBX\_CHECK\_EQUAL(a, b)</td>
<td>a == b</td>
</tr>
<tr>
<td>RBX\_CHECK\_NE(a, b)</td>
<td>a#b</td>
</tr>
<tr>
<td>RBX\_CHECK\_GE(a, b)</td>
<td>a >= b</td>
</tr>
<tr>
<td>RBX\_CHECK\_LE(a, b)</td>
<td>a \<= b</td>
</tr>
<tr>
<td>RBX\_CHECK\_GT(a, b)</td>
<td>a > b</td>
</tr>
<tr>
<td>RBX\_CHECK\_LT(a, b)</td>
<td>a \< b</td>
</tr>
마크로 | 테스트 조건 |
RBX_요구
이 맥로는 TestService:Require() 함수를 호출하여 테스트합니다.
<tr>
<td>RBX\_REQUIRE(조건)</td>
<td>조건부 변수 = 예</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_메시지(조건, 실패 메시지)</td>
<td>조건부 변수 = 예</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_THROW(코드)</td>
<td>pcall(function() 코드 종료) == false</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_NO\_THROW(코드)</td>
<td>pcall(function() 코드 종료) == true</td>
</tr>
<tr>
<td>RBX\_요구\_평등(a,b)</td>
<td>a == b</td>
</tr>
<tr>
<td>RBX\_요구\_NE(a, b)</td>
<td>a#b</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_GE(a, b)</td>
<td>a >= b</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_LE(a, b)</td>
<td>a \<= b</td>
</tr>
<tr>
<td>RBX\_요구\_GT(a, b)</td>
<td>a > b</td>
</tr>
<tr>
<td>RBX\_LT(a, b) 필요</td>
<td>a \< b</td>
</tr>
마크로 | 테스트 조건 |
RBX_경고
이 맥로는 TestService:Warn() 함수를 호출하여 테스트합니다.
<tr>
<td>RBX\_워넌(조건)</td>
<td>조건부 변수 = 예</td>
</tr>
<tr>
<td>RBX\_WARN\_MESSAGE(조건, 실패 메시지)</td>
<td>조건부 변수 = 예</td>
</tr>
<tr>
<td>RBX\_WARN\_THROW(코드)</td>
<td>pcall(function() 코드 종료) == false</td>
</tr>
<tr>
<td>RBX\_WARN\_NO\_THROW(코드)</td>
<td>pcall(function() 코드 종료) == true</td>
</tr>
<tr>
<td>RBX\_WARN\_EQUAL(a, b)</td>
<td>a == b</td>
</tr>
<tr>
<td>RBX\_WARN\_NE(a, b)</td>
<td>a#b</td>
</tr>
<tr>
<td>RBX\_WARN\_GE(a, b)</td>
<td>a >= b</td>
</tr>
<tr>
<td>RBX\_WARN\_LE(a, b)</td>
<td>a \<= b</td>
</tr>
<tr>
<td>RBX\_WARN\_GT(a, b)</td>
<td>a > b</td>
</tr>
<tr>
<td>RBX\_WARN\_LT(a, b)</td>
<td>a \< b</td>
</tr>
마크로 | 테스트 조건 |
추가 마크로
<tr><td>RBX\_ERROR(메시지)</td><td>직접 <code>Class.TestService:Error()</code> 함수를 호출합니다.</td></tr><tr><td>RBX\_FAILED(msg)</td><td>직접 <code>Class.TestService:Fail()</code> 함수를 호출합니다.</td></tr><tr><td>RBX\_메시지(msg)</td><td>직접 <code>Class.TestService:Message()</code> 함수를 호출합니다.</td></tr>
마크로 | 설명 |
요약
속성
설정된 경우 게임이 테스트 서비스의 TestService:Run() 메서드가 호출될 때 실행됩니다.
테스트가 실행되는 설명.
테스트 세션에서 발생한 오류의 수를 측정합니다.
실행 작업을 Roblox Studio에서 사용하는 경우 테스트 서비스가 실행됩니다.When set to true, the TestService will be executed when using the Run action in Roblox Studio.
테스트가 실행되는 동안 물리 엔진이 30 FPS로 제한되어야 하는지 여부를 설정합니다.
이 테스트를 실행할 때 물리 환경이 제한되어야 하는지 여부를 설정합니다.
테스트 시뮬레이션이 실행되는 동안 물리 개체가 잠이 들도록 허용할지 여부를 설정합니다.
이 테스트에 예상되는 플레이어 수, 있는 경우.
테스트 세션 동안 플레이어가 경험하는 추가 지연량을 설정합니다.
테스트 세션에 얼마나 많은 테스트 호출이 기록되었는지 측정합니다.
테스트가 실행할 수 있는 최대 시간.
테스트 세션에서 얼마나 많은 경고 호출이 기록되었는지 측정합니다.
메서드
조건의 결과를 출력합니다.
출력에 "테스트 체크 포인트: "라는 텍스트 다음에 텍스트를 인쇄합니다.
테스트 완료를 출력에 인쇄, 푸른색 텍스트로.
출력에 빨간색 메시지 하나를 인쇄하고 TestService: 로 시작합니다.
TestService 실행에서 치명적인 오류가 발생했음을 나타냅니다. 이 오류가 TestService 내부의 스크립트에서 호출되는 경우 오류가 발생한 라인에 중단점이 생성됩니다.
출력에 텍스트 다음에 테스트 메시지를 인쇄합니다.
설명 텍스트와 함께 조건이 트루인지 여부를 출력합니다.
조건이 참이면 출력하고 그렇지 않으면 경고를 출력합니다.
TestService에 부모로 지정된 스크립트를 실행합니다.
이벤트
- ServerCollectConditionalResult(condition : bool,text : string,script : Instance,line : number):RBXScriptSignal
서버가 조건부 테스트 결과를 수집할 때 발생합니다.
서버가 테스트 결과를 수집할 때 발생합니다.
속성
ExecuteWithStudioRun
실행 작업을 Roblox Studio에서 사용하는 경우 테스트 서비스가 실행됩니다.When set to true, the TestService will be executed when using the Run action in Roblox Studio.
참고:
- Class.TestService.NumberOfPlayers 속성이 0보다 큰 값으로 설정되면 게임을 실행하면 NumberOfPlayers + 1 스튜디오 창이 열리고, 하나의 창은 서버이고 나머지는 플레이어가 연결된 서버입니다.
- 이 값을 합리적인 범위 내에 유지하십시오(최대 1~8명의 플레이어), 그렇지 않으면 컴퓨터의 CPU가 과부하되어
메서드
Check
조건이 트루인 경우 "Check passed: "를 출력에 앞에 붙여 설명을 포함하여 출력합니다. 그렇지 않으면 "Check failed: "를 다시 출력하지만 이번에는 설명을 포함하지 않습니다.
매개 변수
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Check(false, "example")
Checkpoint
출력에 대해 테스트 체크포인트:, 다음에 텍스트를 출력합니다.
매개 변수
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Checkpoint("example")
Done
출력에 테스트 완료를 인쇄합니다.
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Done()
Error
출력에 빨간색 메시지 하나를 인쇄하고 TestService: 로 시작합니다.
매개 변수
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Error("this is an error")
Fail
TestService 실행에서 치명적인 오류가 발생했음을 나타냅니다. 이 오류가 TestService 내부의 스크립트에서 호출되는 경우 오류가 발생한 라인에 중단점이 생성됩니다.
매개 변수
반환
Message
출력에 앞에 나오는 테스트 메시지와 텍스트 텍스트 다음에 나오는 출력을 인쇄합니다. 이 메시지는 파란색 텍스트로 출력됩니다.
매개 변수
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Message("example")
Require
조건 이 트루인 경우, 다음과 같이 파생된 출력을 파란색 텍스트로 출력합니다. 그렇지 않으면 다음과 같이 설명합니다. Require passed: , 다음에 description 를 출력합니다.
매개 변수
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Require(false, "example")
Warn
조건이 트루인 경우, 출력에 대해 파란색 텍스트로 경고 패스를 출력하고, 다음에 설명을 출력합니다. 그렇지 않으면 출력에 대해 주의출력하고, 다음에 2>설명2>을 출력합니다.
매개 변수
반환
코드 샘플
local TestService = game:GetService("TestService")
TestService:Warn(false, "this action is invalid")
Run
TestService에 부모로 지정된 스크립트를 실행합니다.