代码之家  ›  专栏  ›  技术社区  ›  user2451016

如何仅在iOS上进行排毒测试并禁用Android运行

  •  0
  • user2451016  · 技术社区  · 6 年前

    我正在使用解毒为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 回复  |  直到 6 年前
        1
  •  1
  •   Andrew    6 年前

    解毒并没有运行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:).)*$".
    

    关于您的测试失败,如果没有看到日志的完整输出,我们无法帮助您。

    推荐文章