如何让排毒测试仅在IOS上运行并禁用Android运行

时间:2018-12-17 13:05:03

标签: react-native detox

我正在使用Detox为iOS创建一些UI测试。 最初,iOS测试运行良好。 [注意-目前没有任何Android测试]

Config.json
{
    "setupTestFrameworkScriptFile": "./init.js",
    "testEnvironment": "node"
}

package.json代码段:

"detox": {
"configurations": {
  "ios.sim.debug": {
    "binaryPath": "/Users/laxmisomni/Documents/Projects/mambo/ios/build/Build/Products/Debug-iphonesimulator/mambo.app",
    "build": "xcodebuild -workspace ios/appName.xcworkspace -scheme appName -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
    "type": "ios.simulator",
    "name": "iPhone 7"
  }
},
"test-runner": "jest",
"specs": "e2e"
},

错误:

Ran all test suites matching /e2e/i with tests matching "^((?!:android:).)*$".
child_process.js:651
    throw err;
    ^

Error: Command failed: node_modules/.bin/jest e2e --config=e2e/config.json --maxWorkers=1 '--testNamePattern=^((?!:android:).)*$'
    at checkExecSyncError (child_process.js:611:11)

Other dependencies in Package.json:
    "babel-eslint": "^8.2.3",
    "babel-jest": "23.0.1",
    "babel-preset-react-native": "4.0.0",
    "babel-register": "^6.26.0",

有什么方法可以禁止测试运行程序尝试运行不存在的Android测试吗?

1 个答案:

答案 0 :(得分:1)

Detox没有运行android测试。只是因为正则表达式中的negative lookahead而已。

--testNamePattern='^((?!:android:).)*$'

这是我成功运行的iOS测试的输出。

detox test
node_modules/.bin/jest e2e --config=e2e/config.json --maxWorkers=1 --testNamePattern='^((?!:android:).)*$'

 server listening on localhost:55356...

 : Searching for device matching iPhone 7...

 : Uninstalling com.testapp.test...

 : com.testapp.test uninstalled
 : Installing /Users/work/Documents/test/ios/build/Build/Products/Debug-iphonesimulator/test.app...
 : /Users/work/Documents/test/ios/build/Build/Products/Debug-iphonesimulator/test.app installed
 : Terminating  com.testapp.test...
 : com.testapp.test terminated
 : Launching  com.testapp.test...
7: com.testapp.test launched. The stdout and stderr logs were recreated, you can watch them with:
        tail -F /Users/work/Library/Developer/CoreSimulator/Devices/AF406169-5CF3-4480-9D00-8F934C420043/data/tmp/detox.last_launch_app_log.{out,err}
 PASS  e2e/firstTest.spec.js (10.504s)
  Example
    ✓ should have Home tab (1283ms)
    ✓ should show detail screen after tap (1872ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        11.153s, estimated 12s
Ran all test suites matching /e2e/i with tests matching "^((?!:android:).)*$".

关于您的测试失败,没有看到日志的完整输出,我们无济于事。