TestService

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

服務

TestService 是 Roblox 內部使用的服務,可以在遊戲內執行分析測試。它讓您可以在遊戲內直接編寫複雜的測試。

樣式

在 TestService 內執行的腳本 (via TestService:Run() ) 有 access to 特殊的 macros 直接在 TestService 中呼叫功能。 macros 是基於代碼的大型代碼塊,不需要每次你想要呼叫它們時重新編寫。

RBX_檢查

這個 macro 使用 TestService:Check() 函數進行測試。


<tr>
<td>RBX\_CHECK(條件)</td>
<td>cond == 是</td>
</tr>
<tr>
<td>RBX\_CHECK\_MESSAGE(cond, failMsg)</td>
<td>cond == 是</td>
</tr>
<tr>
<td>RBX\_CHECK\_THROW(代碼)</td>
<td>pcall(function() 結束) == false</td>
</tr>
<tr>
<td>RBX\_CHECK\_NO\_THROW(代碼)</td>
<td>pcall(function() en結束) 代碼</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>一個 \< b</td>
</tr>
微波爐測試條件

RBX_需要

這個 macro 使用 TestService:Require() 函數進行測試。


<tr>
<td>RBX\_需要(cond)</td>
<td>cond == 是</td>
</tr>
<tr>
<td>RBX\_需要\_訊息(cond, failMsg)</td>
<td>cond == 是</td>
</tr>
<tr>
<td>RBX\_需要\_投擲(COD)</td>
<td>pcall(function() 結束) == false</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_NO\_THROW(代碼)</td>
<td>pcall(function() en結束) 代碼</td>
</tr>
<tr>
<td>RBX\_需要\_等同(a,b)</td>
<td>a == b</td>
</tr>
<tr>
<td>RBX\_REQUIRE\_NE(a, b)</td>
<td>a#b</td>
</tr>
<tr>
<td>RBX\_需要\_GE(a,b)</td>
<td>a >= b</td>
</tr>
<tr>
<td>RBX\_需要\_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>一個 \< b</td>
</tr>
微波爐測試條件

RBX_警告

這個 macro 使用 TestService:Warn() 函數進行測試。


<tr>
<td>RBX\_ WARN(cond)</td>
<td>cond == 是</td>
</tr>
<tr>
<td>RBX\_ WARN\_ 訊息 (cond, failMsg)</td>
<td>cond == 是</td>
</tr>
<tr>
<td>RBX\_ WARN\_ THROW (代碼)</td>
<td>pcall(function() 結束) == false</td>
</tr>
<tr>
<td>RBX\_WARN\_NO\_THROW(代碼)</td>
<td>pcall(function() en結束) 代碼</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\_警告(a,b)</td>
<td>a > b</td>
</tr>
<tr>
<td>RBX\_WARN\_LT(a, b)</td>
<td>一個 \< b</td>
</tr>
微波爐測試條件

額外的 Macros


<tr>
<td>RBX\_ERROR(訊息)</td>
<td>直接呼叫 <code>Class.TestService:Error()</code> 函數。</td>
</tr>
<tr>
<td>RBX\_失敗(msg)</td>
<td>直接呼叫 <code>Class.TestService:Fail()</code> 函數。</td>
</tr>
<tr>
<td>RBX\_訊息(msg)</td>
<td>直接呼叫 <code>Class.TestService:Message()</code> 函數。</td>
</tr>
微波爐說明

概要

屬性

方法

活動

屬性

AutoRuns

平行讀取

設為真,遊戲將在TestService的 TestService:Run() 方法呼叫時開始執行。

Description

平行讀取

測試正在執行的說明。

ErrorCount

唯讀
未複製
平行讀取

測作業會記錄的錯誤數量。

ExecuteWithStudioRun

平行讀取

設為真時,TestService 將在 Roblox Studio 中使用 Run 動作時執行。

注意:

  • 如果 TestService.NumberOfPlayers 屬性設為超過 0 ,執行遊戲會開啟 NumberOfPlayers + 1 個工作室窗口,其中一個窗戶是服務伺服器,其餘是連接到服務伺服器的玩家。
  • 嘗試將此值內在合理範圍內(最多 1 至 8 名玩家),否則您的電腦的CPU 可能會過載。

Is30FpsThrottleEnabled

平行讀取

設定是否要在測試執行時將物理引擎設置為30FPS,或者是否要設置為30FPS,而不是設置為60FPS。

IsPhysicsEnvironmentalThrottled

平行讀取

設定是否啟用物理環境在執行此測試時會被限速。

IsSleepAllowed

平行讀取

設定是否允許物理對象在測試模擬器執行時睡眠。

NumberOfPlayers

平行讀取

如有的話,這次測試預期的玩家數。

SimulateSecondsLag

平行讀取

設定玩家在測試會作業中體驗到的額外延遲量。

TestCount

唯讀
未複製
平行讀取

測量測試會議的召集數。

Timeout

平行讀取

測試可以執行的最大時間。

WarnCount

唯讀
未複製
平行讀取

測試會作業中記錄了多少警告呼叫。

方法

Check

void

如果條件是真的,它會打印 "Check passed: ",並在輸出後跟隨說明,但是是以藍色文字打印。 否則,它會打印 "Check failed: ",再次,跟隨說明,但是是以紅色文字打印。

參數

condition: bool
description: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

範例程式碼

TestService:Check

local TestService = game:GetService("TestService")
TestService:Check(false, "example")

Checkpoint

void

列出 "測試檢查點:" ,然後是 文字 ,在輸出,是以藍色文字列出。

參數

text: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

範例程式碼

TestService:Checkpoint

local TestService = game:GetService("TestService")
TestService:Checkpoint("example")

Done

void

列印 測試完成 到輸出,是以藍色文字。


返回

void

範例程式碼

TestService:Done

local TestService = game:GetService("TestService")
TestService:Done()

Error

void

列出一個紅色訊息到輸出,以 TestService: 的前缀。

參數

description: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

範例程式碼

TestService:Error

local TestService = game:GetService("TestService")
TestService:Error("this is an error")

Fail

void

指示TestService執行中發生的死亡錯誤。如果此錯誤在TestService內部的執行程式碼中呼叫,則會啟動TestService內部的一個休息點。

參數

description: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

Message

void

列印 測試訊息,之後是 文字 到輸出,是藍色文字。

參數

text: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

範例程式碼

TestService:Message

local TestService = game:GetService("TestService")
TestService:Message("example")

Require

void

如果 condition 是真的,它會列出 Require passed: ,然後是 description ,以輸出在藍色文本中。否則,它會列出 1> require failed. 測試結束:1> ,然後是 4> descriptio說明4> ,以輸出在紅色文本中。

參數

condition: bool
description: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

範例程式碼

TestService:Require

local TestService = game:GetService("TestService")
TestService:Require(false, "example")

ScopeTime


返回

Warn

void

如果 條件 是真的,它會列印 警告通過: ,然後跟隨 說明: ,到輸出,在藍色文字。 否則,它會列印 1> 警告:1> ,然後跟隨 4> 說明:4> ,到輸出,在黃色文字。

參數

condition: bool
description: string
source: Instance
預設值:"nil"
line: number
預設值:0

返回

void

範例程式碼

TestService:Warn

local TestService = game:GetService("TestService")
TestService:Warn(false, "this action is invalid")

isFeatureEnabled

參數

name: string

返回

Run

void
暫停
外掛程式安全性

執行與 TestService 有關的指令碼。


返回

void

活動

ServerCollectConditionalResult

發射時,當服務器收集條件測試結果。

參數

condition: bool
text: string
script: Instance
line: number

ServerCollectResult

發射時,當服務器應該收集測試結果。

參數

text: string
script: Instance
line: number