一、环境搭建
1.安装xcode
2.安装HomeBrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
3.安装 applesimutils
brew tap wix/brew
brew install applesimutils
4.全局安装detox-cli
npm install -g detox-cli
5.局部安装detox
npm install detox --save-dev
6.局部安装jest、jest-cli和jest-circus
npm install jest jest-cli jest-circus --save-dev
7.将Detox初始化为使用Jest
detox init -r jest
8.修改配置
1)删除自动创建的.detoxrc.json 文件
2)配置 package.json 文件,添加 下边代码
"detox": {
"test-runner": "jest",
"configurations": {
"ios.sim.debug": {
"binaryPath": "./ios/build/Build/Products/Release-iphonesimulator/testReactNativeDetox.app",
"build": "xcodebuild -workspace ios/testReactNativeDetox.xcworkspace -configuration release -scheme testReactNativeDetox -sdk iphonesimulator -derivedDataPath ios/build EXCLUDED_ARCHS=arm64 DETOX=1",
"type": "ios.simulator",
"name": "iPhone 11"
}
}
}
其中binaryPath: 是APP运行的路径,如果没有build,先run一个app,就会生成build,把项目名称修改成自己的工程即可
build: build项目的时候用的命令,特别注意-sdk后面跟的支持的设备,最好在终端通过
xcodebuild -showsdks
查看当前支持的设备,我本地最终设置为-sdk iphonesimulator14.4。需要排除arm64,在detox build时,一直提示某个库在arm64上不存,排除即可。
name:是选择的模拟器,需要通过
applesimutils --list
查看当前支持的ios设备,然后填入。
9.修改run的scheme
10.运行测试
detox build
11.执行测试用例
detox test