我有一个iOS项目,我登录第三方服务。 我有几个这样的测试,我想在本地运行,并在我提交时在我的GitLab运行器中运行。 以下是测试方法的示例:
func testLoginWsSuccess() {
let expectation = self.expectation(description: "Login Success")
MyClient.sharedInstance().authenticate(login: "***USERNAME***", password: "***PASSWORD***") { (success, error) in
XCTAssertTrue(success)
XCTAssertNil(error)
expectation.fulfill()
}
waitForExpectations(timeout: WEBSERVICE_TIMEOUT) { (_) -> Void in }
}
我的问题是如何才能实现这一点,因此凭证不会显示在我的GitLab管道中,也不会存储在我的存储库中。我也希望能够在本地运行我的测试。
到目前为止,我已经考虑过在我的工作中使用sed来替换字符串,但是这会出现在我的控制台中。 并使Xcode使用.xcconfig文件并将凭据存储在那里,但将其添加到.gitignore。这可以在本地工作,但我不知道如何设置它,所以我的跑步者也有.xcconfig文件来引用。
如果有帮助的话,这是我的.gitlab-ci.yml:
stages:
- build
build_project:
stage: build
script:
#Carthage
- carthage bootstrap
# Build and test project
- xcodebuild clean -project MyProject.xcodeproj -scheme MyProject | xcpretty
- xcodebuild test -project MyProject.xcodeproj -scheme MyProject -destination 'platform=iOS Simulator,name=iPhone 6s,OS=10.3.1' | xcpretty -s
tags:
- ios
- xcode8.3
感谢您阅读本文。