Post

Serializing SwiftData Tests

Serializing SwiftData Tests

錯誤

Swift Testing 可能同時執行多個 test case。當多個測試都建立 SwiftData container、UIKit image fixture,或啟動 app host 時,錯誤容易先被包成:

1
Test crashed with signal trap.

這種訊息不一定會直接指出是哪個 assertion 失敗。

解法

先把 suite 改成 serialized,讓測試逐一執行,縮小 crash 範圍:

1
2
3
@Suite(.serialized)
struct ScoutDexTests {
}

記住

SwiftData / app-host 測試初期先用 serialized。等 container 生命週期、資料隔離、fixture 都確認後,再評估要不要恢復並行測試。

This post is licensed under CC BY 4.0 by the author.