2014-01-09 57 views
0

我對編寫iOs應用程序的單元測試用例相當新穎,在我的應用程序工作流程(創建和編輯記錄)中工作正常,但是當我從測試用例以下觀察:iOS核心數據和單元測試:創建多個託管對象上下文

1)非法嘗試建立對象之間的關係在不同的上下文

2)安裝和拆除每個測試實例之後被獲取調用。

我已經檢查兩個實體的管理對象上下文,他們是真正的不同

PO [companyEntity managedObjectContext]

的NSManagedObjectContext:0xcda9850

(LLDB)PO [自managedObjectContext];

的NSManagedObjectContext:0x10f2a0a0

請幫助我理解可能是什麼原因。

感謝 ANKIT

+1

您需要展示如何創建託管對象上下文。 – Abizern

+0

我有一個singelton數據庫管理器,它創建managedObjectContext,其餘部分是標準進程 –

+0

您需要向我們展示崩潰的代碼。你需要向我們展示崩潰的堆棧軌跡。沒有這兩條信息,你只會得到很多猜測。 –

回答

1

顯然你單身或者是損壞或正在創建多個環境。

使用堆棧日誌記錄來確定創建有問題的上下文的位置。

這種說法添加到您的運行ARGS在Xcode:

MallocStackLoggingNoCompact 1

這些都在計劃中找到 - >運行* *。應用程序 - >環境變量

$ sudo malloc_history [pid] [address] 

即 $ sudo malloc_history 1234 0xcda9850 $ sudo malloc_history 1234 0x10f2a0a0

0

實際上,singelton類是構建階段中多個目標的一部分 - >編譯源代碼,從而編譯多次,從而導致上下文之間的干擾。

我刪除了所有的文件,除了測試目標的測試和事情工作正常。

相關問題