我正在尝试调整此解决方案以在我的 KIF 测试类中的每次测试后重置应用程序。所以我修改了 main.m 文件并添加了
XCUIApplication *app = [[XCUIApplication alloc] init];
app.launchArguments = @[@"--reset-container"];
[app launch];
进入 Setup{} 块
然后我在模拟器上运行测试并立即在 Setup 块中捕获异常:
"NSInternalInconsistencyException", "没有通过测试配置指定目标应用程序路径:XCTestConfiguration: 0x600000141600
错误日志:
file:///Users/user/Documents/GIT/Projects/MyProject/UnitTests/Case01AuthorizationTests.m: test failure: -[authorizationTests test08ValidLogin] failed: failed: caught "NSInternalInconsistencyException", "No target application path specified via test configuration: <XCTestConfiguration: 0x600000141600>
testBundleURL:file:///Users/user/Library/Developer/Xcode/DerivedData/MyPoject-edjreexihtzcqyefoinanbbogxhm/Build/Products/Debug-iphonesimulator/%D0%A2%D0%B0%D0%BA%D1%81%D0%BA%D0%BE%D0%BC%20%D0%9A%D0%B0%D1%81%D1%81%D0%B0.app/PlugIns/UnitTests.xctest/
testBundleRelativePath:(null)
productModuleName:UnitTests
testsToSkip:authorizationTests/test05CheckPassword, authorizationTests/test04CheckLoginFields, authorizationTests/test01CheckMainServer, authorizationTests/test06WrongPassword, authorizationTests/test03CheckEmail, authorizationTests/test02CheckTestServer
testsToRun:authorizationTests
reportResultsToIDE:YES
sessionIdentifier:440A6681-2527-4286-B232-65126E740F22
pathToXcodeReportingSocket:(null)
disablePerformanceMetrics:no
treatMissingBaselinesAsFailures:no
baselineFileURL:(null)
baselineFileRelativePath:(null)
targetApplicationPath:(null)
targetApplicationBundleID:(null)
targetApplicationArguments:(null)
targetApplicationEnvironment:
(null)
reportActivities:no
testsMustRunOnMainThread:no
initializeForUITesting:no
aggregateStatisticsBeforeCrash:{
XCSuiteRecordsKey = {
};
}
automationFrameworkPath:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework
emitOSLogs:no
"
(
0 CoreFoundation 0x000000010546db0b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x0000000104b62141 objc_exception_throw + 48
2 CoreFoundation 0x0000000105471cf2 +[NSException raise:format:arguments:] + 98
3 Foundation 0x0000000102a7f536 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 193
4 XCTest 0x000000011517bc58 -[XCUIApplication init] + 202
5 UnitTests 0x00000001166afb9f -[authorizationTests setUp] + 143
6 XCTest 0x000000011515579a __24-[XCTestCase invokeTest]_block_invoke_2 + 163
7 XCTest 0x0000000115193f62 -[XCTestContext performInScope:] + 190
8 XCTest 0x00000001151556e4 -[XCTestCase invokeTest] + 254
9 XCTest 0x0000000115155fb2 -[XCTestCase performTest:] + 565
10 XCTest 0x0000000115153078 __27-[XCTestSuite performTest:]_block_invoke + 300
11 XCTest 0x0000000115152c68 -[XCTestSuite _performProtectedSectionForTest:testSection:] + 29
12 XCTest 0x0000000115152e4e -[XCTestSuite performTest:] + 214
13 XCTest 0x0000000115153078 __27-[XCTestSuite performTest:]_block_invoke + 300
14 XCTest 0x0000000115152c68 -[XCTestSuite _performProtectedSectionForTest:testSection:] + 29
15 XCTest 0x0000000115152e4e -[XCTestSuite performTest:] + 214
16 XCTest 0x0000000115153078 __27-[XCTestSuite performTest:]_block_invoke + 300
17 XCTest 0x0000000115152c68 -[XCTestSuite _performProtectedSectionForTest:testSection:] + 29
18 XCTest 0x0000000115152e4e -[XCTestSuite performTest:] + 214
19 XCTest 0x000000011519fa86 __44-[XCTTestRunSession runTestsAndReturnError:]_block_invoke + 40
20 XCTest 0x0000000115161f27 -[XCTestObservationCenter _observeTestExecutionForBlock:] + 574
21 XCTest 0x000000011519f925 -[XCTTestRunSession runTestsAndReturnError:] + 281
22 XCTest 0x000000011513da50 -[XCTestDriver runTestsAndReturnError:] + 254
23 XCTest 0x000000011519786e _XCTestMain + 559
24 CoreFoundation 0x0000000105413b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
25 CoreFoundation 0x00000001053f8e54 __CFRunLoopDoBlocks + 356
26 CoreFoundation 0x00000001053f85ee __CFRunLoopRun + 894
27 CoreFoundation 0x00000001053f8016 CFRunLoopRunSpecific + 406
28 GraphicsServices 0x0000000108d15a24 GSEventRunModal + 62
29 UIKit 0x00000001032fc134 UIApplicationMain + 159
30 –¢–∞–∫—Å–∫–æ–º –ö–∞—Å—Å–∞ 0x0000000100c2619f main + 111
31 libdyld.dylib 0x00000001061f365d start + 1
32 ??? 0x0000000000000005 0x0 + 5
)
是否可以解决此错误并使其正常工作?
此外,在某些情况下,我可以同时应用 KIF 和 XCTest 的方法。那么,是否可以在一个测试用例中同时使用这些框架?