我想單元測試自定義單元是否註冊了tableView
。如何測試自定義單元格是否已使用tableView註冊?
-(void)viewDidLoad
{
[super viewDidLoad];
UINib *nib = [UINib nibWithNibName:@"FTStatsCellView" bundle:nil];
[[self tableView] registerNib:nib forCellReuseIdentifier:@"FTStatsCellView"];
}
單元測試:
-(void)testIfCustomCellsAreRegisteredToTable
{
[viewController viewDidLoad];
FTStatsCellView *cell = [[viewController tableView] dequeueReusableCellWithIdentifier:@"FTStatsCellView"];
XCTAssertNotNil(cell, @"Custom cell FTStatsCellView is not registered with the table.");
}
測試失敗並顯示消息:
[FTStatsViewControllerTests testIfCustomCellsAreRegisteredToTable] 失敗:在束無法加載NIB:「一個NSBundle (已加載)',名稱爲'FTStatsCellView'
有什麼建議嗎?感謝
更新
如果我點擊該項目,從沒有到應用程序更改test target
的目標,那麼它的工作原理。
但是,這有一個應用程序在模擬器我要運行單元測試每次運行的副作用。
有什麼建議嗎?
您是否將筆尖包含在測試目標中? – Wain
看來我有一個類似的問題,因爲在這裏:http://stackoverflow.com/questions/1879247/why-cant-code-inside-unit-tests-find-bundle-resources但不知道如何將路徑與'nibWithNibName'。 – Houman
Btw xib文件已經檢查了測試目標成員資格。它包含在測試目標的'copy bundle resources'中。我卡住了...... – Houman