簡體   English   中英

Xcode 項目方案目前未配置為測試動作

[英]Xcode project scheme is not currently configured for the test action

我正在嘗試為我的 iOS 應用程序運行 Xcode 單元測試。 我願意在通過 USB 連接到 Mac 的 iPad 上執行此操作。 我正在嘗試從命令行運行測試,以便稍后從 Jenkins 觸發它。

以下是我目前在命令行中輸入的內容以及我得到的錯誤。 請幫忙。

編碼:

xcodebuild test -scheme MyApplication -destination "platform=iOS,name=iPad"

錯誤:

Scheme MyApplication 當前未為測試操作配置

對我來說,問題是我的計划中沒有添加任何測試:

方案編輯器

通過“+”按鈕將測試包添加到我的方案中,然后該方案可以由 Xcode 和 xcodebuild 構建。

對於每個在這個問題上掙扎的人。

我的解決方案是:

  1. 選擇測試目標
  2. 管理方案
  3. 在左側菜單中選擇運行
  4. 在選項卡中選擇信息
  5. 從下拉菜單中選擇可執行目標
  6. 點擊關閉

通過從 Xcode 中刪除重復的方案來解決這個問題。 可以通過Product -> Scheme -> Manage Schemes在 Xcode 中添加/刪除/共享/編輯方案

請按照以下步驟解決此錯誤。

  1. 在頂部選擇您的項目方案。
  2. 單擊管理方案
  3. 在彈出窗口中選擇您的測試目標。
  4. 確保單擊彈出窗口左下角的編輯按鈕。
  5. 選擇構建
  6. 單擊“運行”下方的復選框
  7. 關閉彈出窗口。
  • 你應該在 Jenkins 上檢查你的工作區數據,看看哪個 *.xctest 已經上傳了。 然后,您必須將您的 UI/單元測試目標重命名為 xcode 項目中的 *.xctest 數據,就像您在 Jenkins 上擁有的那樣,然后再次推送。
  • 或者從 Jenkins 中清除您的工作區並再次使用新的 UI/單元測試目標再次推送所有數據。

(當然你要保證你已經做好了項目的方案。)

就我而言,我沒有測試文件...

這是執行 UI 測試和創建屏幕截圖的教程:

https://krausefx.com/blog/run-xcode-7-ui-tests-from-the-command-line

我的問題是Tests.swift文件正在導入一個不再存在的模塊(我重命名了項目的目標)。 檢查以確保所有測試文件都在導入當前存在的模塊。

我遇到了類似的錯誤,但其他解決方案都沒有幫助。 由於在通過 Fastlane 運行時首先注意到錯誤,因此我接下來使用此命令手動運行 xcodebuild 以模擬相同的情況。

xcodebuild -workspace Noname.xcworkspace -scheme Noname -enableCodeCoverage YES build-for-testing

然后我看到了以下錯誤:簽署“無名依賴”需要一個開發團隊。

我還提到了一個 macosx 簽名錯誤,我無法遺憾地重現此問題,因為它解決了這個問題。

為了解決這個問題,在 Signing & Capabilities for the Target 下我選擇了None ,然后在 General 我取消了Mac ,因為我們不需要/使用它,但在創建這個新項目 (CocoaPod) 時默認選擇了它。

奇怪的是,我重新添加了 Mac,一切仍然正常。 我認為 Xcode 項目文件和/或方案文件有一個奇怪的地方,當你對它進行足夠的修補時 - 事情會被重置/修復。

我設置了一個測試計划 (xctestplan)。

  1. 除了“共享設置”之外,我還需要一個單獨的測試配置(測試計划)。
  2. 還請確保測試計划(在 Xcode 方案設置下)包括測試目標和配置。

附上截圖:

測試計划

Xcode Scheme 測試設置

就我而言,它因此錯誤而間歇性失敗,原來我有兩個同名的方案,Xcode 有時選擇了錯誤的方案,因此請確保執行xcodebuild -workspace "MyWorkspace.xcworkspace" -list以查看所有方案並找出你是否有重復的名字。

您的測試計划應該至少有一個自定義配置。

  1. 轉到管理方案
  2. 刪除所有方案並單擊Autocreate Schemes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM