gpt4 book ai didi

ios - 使用 OCUnit 对 keyWindow 进行单元测试会抛出错误

转载 作者:行者123 更新时间:2023-11-28 22:27:24 25 4
gpt4 key购买 nike

我想在启动后测试我的应用委托(delegate)制作窗口作为关键窗口。所以我编写了以下测试。

- (void)setUp
{
window = [[UIWindow alloc] init];
appDelegate = [[FGAppDelegate alloc] init];
appDelegate.window = window;
appDidFinishLaunchingReturn = [appDelegate application: nil didFinishLaunchingWithOptions:nil];
}

- (void)tearDown
{
window = nil;
appDelegate = nil;
}
- (void)testWindowIsKeyAfterApplicationLaunch
{
STAssertTrue(window.keyWindow, @"App delegate's window should be key.");
}

在我的应用程序中委托(delegate)方法 applicaton:didFinishLaunchingWithOptions:

  ...
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}

测试失败并告诉我 window.keyWindow 应该是真的。有什么不对的吗?我该如何修复测试?

最佳答案

我想这与我的问题 iOS unit test: How to set/update/examine firstResponder? 类似键窗口的实际激活可能是在主运行循环中发生的事情。为了让它有机会运行,请尝试在您的测试中调用它:

- (void)runForShortTime
{
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];
}

关于ios - 使用 OCUnit 对 keyWindow 进行单元测试会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18522950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com