移除 Splash 固定 1.5 秒等待,并补充启动流程分析文档。
未登录冷启动可立即进入登录页;已登录仍等待 bootstrap 接口完成,但不再叠加人为延迟。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -9,8 +9,21 @@ import XCTest
|
||||
@testable import suixinkan
|
||||
|
||||
@MainActor
|
||||
/// 启动页协调器测试,覆盖最短展示时长、bootstrap 并行和 UI Test 跳过策略。
|
||||
/// 启动页协调器测试,覆盖可选最短展示时长、bootstrap 并行和 UI Test 跳过策略。
|
||||
final class SplashCoordinatorTests: XCTestCase {
|
||||
/// 测试默认无最短展示时长时,bootstrap 完成即可结束 Splash。
|
||||
func testStartFinishesImmediatelyWithDefaultMinimumDuration() async {
|
||||
let coordinator = SplashCoordinator(skipsMinimumDuration: true)
|
||||
let startedAt = Date()
|
||||
|
||||
await coordinator.start {
|
||||
try? await Task.sleep(nanoseconds: 10_000_000)
|
||||
}
|
||||
|
||||
XCTAssertTrue(coordinator.isFinished)
|
||||
XCTAssertLessThan(Date().timeIntervalSince(startedAt), 0.15)
|
||||
}
|
||||
|
||||
/// 测试 bootstrap 完成后仍需等待最短展示时长。
|
||||
func testStartWaitsForMinimumDisplayDuration() async {
|
||||
let coordinator = SplashCoordinator(minimumDisplayDuration: 0.2, skipsMinimumDuration: false)
|
||||
|
||||
Reference in New Issue
Block a user