Search code examples
detox

Detox 5.10.0 hanging with Jest runner


Still new to detox, trying to understand why one command at package.json work and another not.

ReactNative project
detox@5.10.0
one detox configuration:

"jest": {
    "preset": "react-native",
    "setupTestFrameworkScriptFile": "./e2e/init.js"
},
"detox": {
    "configurations": {
        "ios.sim.debug": {
            "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/todoApp.app",
            "build": "xcodebuild -project ios/todoApp.xcodeproj -scheme todoApp -configuration Debug -sdk iphonesimulator",
            "type": "ios.simulator",
            "name": "iPhone X"
        }
    }
}

Case 1. Test Working.

"scripts": {
  "test:e2e:ios": "jest e2e"
}

Case 2. Test Not Working.

"scripts": {
  "test:e2e:ios": "detox test -r jest -c ios.sim.debug"
}

Test just hanging.

Log's tail for case 2:

  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":27}
 role=tester action=currentStatus (sessionId=6c6513a7-1684-65fd-de53-7b4be949dc5e)
 role=testee action=currentStatusResult (sessionId=6c6513a7-1684-65fd-de53-7b4be949dc5e)
 onMessage: {"type":"currentStatusResult","messageId":27,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Friday, January 2, 1970 at 6:12:58 PM Moscow Standard Time","object":"<NSObject: 0x604000205e80>","name":"animateWithDuration:delay:options:animations:completion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.7256049871444702}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x109c7cdc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x109c7e300], width = 0x1, state = 0x001ffe9e00000300, dirty, max qos 6, in-flight = 0, thread = 0x303 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":27}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":28}
 role=tester action=currentStatus (sessionId=6c6513a7-1684-65fd-de53-7b4be949dc5e)
 role=testee disconnect (sessionId=6c6513a7-1684-65fd-de53-7b4be949dc5e)

The problem The problem is, I can't use first case for multiple configurations (for android, for ex.)

Am I doing smth wrong? Could you, please, take a look?


Solution

  • As @Rotemmiz said, this was an ongoing issue in the 5.X versions of detox, it should be solved in the 6.X release.