Test target X encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted

IosUnit TestingXcode7Ocmock

Ios Problem Overview


I have started working with OCMock to write test cases for the existing project that I have integrated in my project workspace. After following all the steps mentioned in this link.

When I first executed my test case it's giving the error above. I searched it and tried following some of the solutions like creating new target, restarting Xcode but it didn't help me out. Any idea?

Ios Solutions


Solution 1 - Ios

I have my notes and demo applications for both Cocoapods and Carthage here https://github.com/onmyway133/TestTarget

  • Make sure all frameworks are linked to the Test targets
  • Configure Runpath Search Paths to point to $(FRAMEWORK_SEARCH_PATHS)

More info

Solution 2 - Ios

I'm using carthage and problem for me was searching for dependencies in a test target. Fix:

Add $(PROJECT_DIR)/Carthage/Build/iOS to Runpath Search Paths

You can find reference here: Carthage issue

Solution 3 - Ios

There might another solution, if you are using CocoaPods and the UI test target is embedded inside the app target, which is, unfortunately, the case in the default template (pod init).

Try move the UI test target out of the app target as follows:

from:

platform :ios, '11.0'
use_frameworks!

target 'MyApp' do
  # Pods for MyApp

  target 'MyAppUITests' do
    inherit! :search_paths
    # Pods for testing

  end
end

to:

platform :ios, '11.0'
use_frameworks!

# Pods shared between MyApp and MyAppUITests    

target 'MyApp' do
    # Pods for MyApp only
    
end

target 'MyAppUITests' do
    # Pods for testing
    
end

Credit goes to SpacyRicochet in this issue thread: https://github.com/CocoaPods/CocoaPods/issues/4752#issuecomment-305101269

Solution 4 - Ios

My solution was to add a "Copy File phase" to my test target. There I set destination to Frameworks and added my framework with the + sign.

Solution 5 - Ios

In my case there was nothing wrong with linked files. The Simulator was kind of stuck at the message that the app triggered, like: "App name would like to send you notifications". Pressed OK and the next time my XCTests worked fine.

Solution 6 - Ios

Just to share my experience about this error:

I'm using fastlane + cocoapods.

I have a workspace with 2 dynamic frameworks:

  • A.framework
  • B.framework

Dependencies:

  • A depends by AFNetworking using cocoapods
  • B depends by A

Dependency are defined in the Podfile.

The error was raised executing framework B tests.

In my case the problem was related to the missing dependency to AFNetworking in B.framework target.

Adding a pod dependency to AFNetworking in B.framework in Podfile, all was resolved.

So even if the target B is compiling successfully, AFNetworking was not embedded into the B test app and the simulator wasn't able to run B test app raising this "very meaningful" (*) error.

(*) thanks to Apple for this!

Solution 7 - Ios

Wow, I wasted a lot of time on this, my test bundle had the "Host Application" to my application selected. Other test bundles did not.

I expect this solution may not be the right solution for every situation, but my tests were mainly to test the dynamic library and it did not really need a Host Application to run. I was getting the above error, turning this off allowed me to run the tests without getting that error and the breakpoints worked. I was running MacOS but it probably does similar for other environments. I expect this solution may not be the right solution for every situation, but my tests were mainly to test the dynamic library and it did not really need a Host Application to run.

On the test bundle Go to General -> Testing -> Set "Host Application" to None.

Solution 8 - Ios

In my case Build Active Architecture Only was set to YES.

In project and targets : Build Settings -> Architectures -> Build Active Architecture Only should be NO instead of YES

Solution 9 - Ios

My case was special. I used 2 files as test classes. one worked perfectly and the other had that error.
Both link against the same framework.

Solution

> CLEAR DERIVED DATA

> Window => Projects => Delete (at your project)

Good luck and happy testing!

Solution 10 - Ios

In my case I had not added a Run Script phase for the Quick and Nimble libraries which I integrated using Carthage.

Solution 11 - Ios

I had the same issue and already tried everything proposed here without any success.

Running the tests on a different simulator solved the problem for me. After that, the original simulator also didn't cause fails any longer.

Solution 12 - Ios

I tried many different options but none helped me except below and wasted lot of time, posting this so that really help and save time on this:

Follow all of the instructions for Full Manual Configuration

https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md#full-manual-configuration Tips When you come to the part where you are executing xcodebuild, if the build fails, and the log mentions "RoutingHTTPServer" or "YYCache", add these two frameworks on the Build Phases tab of the WebDriverAgentRunner target Open the WebDriverAgent.xcodeproj

Select 'Targets' -> 'WebDriverAgentRunner'

Open 'Build Phases' -> 'Copy frameworks'

Click '+' -> add RoutingHTTPServer

Click '+' -> add YYCache https://github.com/facebook/WebDriverAgent/issues/902#issuecomment-382344697 https://github.com/facebook/WebDriverAgent/issues/902#issuecomment-383362376

The build/test may also fail due to the WebDriverAgentRunner app/developer being untrusted on the device. Please trust the app and try again.

While trying to access the WebDriverAgent server status, if it tries to connect on port 0, hardcode port 8100 in appium-xcuitest-driver/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m

Original line: server.port = (UInt16)port; New line: server.port = 8100; https://github.com/facebook/WebDriverAgent/issues/661#issuecomment-338900334

Solution 13 - Ios

During I was creating Cocoa Touch Framework every any attempt to run tests ended with the same error message like OP wrote.

I fixed it by changing build configuration of TEST from Debug to Release.

Step 1

enter image description here

Step 2

enter image description here

Step 3

enter image description here

Note: There was not need any extra configuration of Runpath Search Paths.

I am using Cocoapods in ver 1.6.1 and Xcode 10.1

Solution 14 - Ios

If anybody still experience this issue this answer helped me. Set Always Embed Swift Standard Libraries to No in the projects settings. I did it for the UI test target.

Solution 15 - Ios

Would like to share my answer hope it could save someones time.

For me .m file was not properly linked under Build Phases - > Compile Sources

Solution 16 - Ios

In my case, I had declared a property as readonly in a header file:

// In .h file
@property (nonatomic, readonly) NSUInteger count;

but I forgot to add this declaration to the .m so a setter would be generated:

// In .m file
@property (nonatomic, assign) NSUInteger count;

Silly mistake, not totally sure why it manifested in this error, but adding that line to the .m fixed the problem.

Solution 17 - Ios

In my case, my Build Settings -> Architectures was setting only for armv7 and I changed for ARCHS_STANDARD that was the same of my Host Application

Solution 18 - Ios

For me, I had to 'Trust' developer in 'Device Management' under 'Settings -> General' on my device. (Settings -> General -> Device Management -> DeveloperID -> 'Trust the app') As I was running app through side loading using my apple ID.

Solution 19 - Ios

In my case I had to remove $(inherited) from Other Linker Flags in my ui test target. I have installed static libraries via cocoapods.

Solution 20 - Ios

for me the problem was the Pod file
I made a new target but forgot add target in the pod file

target 'mobilesdkIntegrationTests' do
  // write here any predefined pods if any, like
  testing_pods
end

just add target in the pod file fixed the issue

Solution 21 - Ios

There are some automatically added project settings that come with Xcode 10, and they come some of the time, not all of the time. After downloading Xcode 10, restart your computer. That is what fixed this for me. None of these answers fixed it for me. I hope this helps. I wish I could give a better answer.

Solution 22 - Ios

Switching from Xcode 9.4.1 to Xcode 10.1 solved the problem in my case.

Solution 23 - Ios

In my case I had completely clean project with default empty tests. If I have added any pod I received this error. Solution was that at least one file in Test target should import Foundation

import XCTest
import Foundation

@testable import CVZebra

class CVZebraTests: XCTestCase {

    override func setUp() {
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }

    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
    }

    func testExample() {
        // This is an example of a functional test case.
        // Use XCTAssert and related functions to verify your tests produce the correct results.
    }

    func testPerformanceExample() {
        // This is an example of a performance test case.
        self.measure {
            // Put the code you want to measure the time of here.
        }
    }

}

Solution 24 - Ios

In my case there was an issue with my app in the simulator. Before the issue came up, I processed a db-migration (realm) which failed and destroyed my db. So everything worked fine for me after I deleted the app on the simulator.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVarun MehtaView Question on Stackoverflow
Solution 1 - Iosonmyway133View Answer on Stackoverflow
Solution 2 - IosRadosław CięciwaView Answer on Stackoverflow
Solution 3 - IosJunfengView Answer on Stackoverflow
Solution 4 - IosleizeQView Answer on Stackoverflow
Solution 5 - IosFeltMarkerView Answer on Stackoverflow
Solution 6 - IosLubboView Answer on Stackoverflow
Solution 7 - IospossenView Answer on Stackoverflow
Solution 8 - IosMihriban MinazView Answer on Stackoverflow
Solution 9 - IosYitzchakView Answer on Stackoverflow
Solution 10 - IosBen ThomasView Answer on Stackoverflow
Solution 11 - IosfredpiView Answer on Stackoverflow
Solution 12 - IosRaviView Answer on Stackoverflow
Solution 13 - IosKamil HarasimowiczView Answer on Stackoverflow
Solution 14 - IosstellzView Answer on Stackoverflow
Solution 15 - IosVarun MehtaView Answer on Stackoverflow
Solution 16 - IosJohnGView Answer on Stackoverflow
Solution 17 - IosFelipe FMMobileView Answer on Stackoverflow
Solution 18 - IosinfiniteLoopView Answer on Stackoverflow
Solution 19 - IoszuziakaView Answer on Stackoverflow
Solution 20 - IosSultan AliView Answer on Stackoverflow
Solution 21 - IosScottyBladesView Answer on Stackoverflow
Solution 22 - IospmdjView Answer on Stackoverflow
Solution 23 - IosMarekMView Answer on Stackoverflow
Solution 24 - IosSanduView Answer on Stackoverflow