我在MyProjectName
文件夾中有一個快速協議IModelIdProvider
。 我在MyProjectNameTests
文件夾中創建了一個名爲RemoteModelFactoryTest
的Objective-C單元測試類。 要做一些測試,RemoteModelFactoryTest
必須實現IModelIdProvider
協議。使用斯威夫特代碼的客觀C測試類
當我#import "MyProjectName-Swift.h"
在我的Objective-C類中使用我的swift協議時,我得到一個file not found
。
如果我改變#import
指令#import "MyProjectNameTests-Swift.h"
,頭部被發現,但不是我的協議(它在MyProjectName
項目中定義,而不是在MyProjectNameTests
項目)。
在使用Swift代碼的*Tests
項目中有什麼特別的事嗎?
Swift文件是否針對測試包? –
當前的swift文檔或者是錯誤的,或者是Xcode中存在一個錯誤。爲了找到文件,您必須在構建設置中定義「產品模塊名稱」 - 將其設置爲「MyProjectName」,並且您的導入應該可以工作。 –
@AbhiBeckert我試着改變產品模塊名稱,你建議(見[這裏](http://stackoverflow.com/questions/28114772/cant-use-swift-classes-inside-objective-c-unit-test )),但這並沒有幫助到目前爲止。你真的嘗試過配方嗎? – Drux