簡體   English   中英

在Objective-C中訪問資產目錄以進行單元測試

[英]Access an asset catalog for unit tests in Objective-C

我有一個用Objective-C編寫的CocoaPods項目,我想對它進行單元測試。 有問題的項目適用於圖像,因此我需要向其提供一些圖像以進行測試。 在任何情況下,這些圖像都不會在發行版本中使用-因此,主要目標不需要訪問它們。

我首先創建資產文件並將其與測試目標相關聯:

在此處輸入圖片說明

在資產文件中,我為第一個測試圖像創建了一個條目:

在此處輸入圖片說明

我還驗證了資產文件已被復制到測試對象項目階段標簽下的捆綁資源中:

在此處輸入圖片說明

然后,在我的單元測試中,我稱之為:

- (void)testLoadImage {
    UIImage *image = [UIImage imageNamed:@"colortestpattern"];
    XCTAssertNotNil(image);
}

測試失敗,因為未設置圖像。

因為我需要大量的圖像進行測試,所以我希望使用資產文件。 但是,如果這不可能,那么我願意接受替代方案。

您是否嘗試過UIImage的類方法imageNamed:inBundle:compatibleWithTraitCollection:

UIImage *image = [UIImage imageNamed: @"colortestpattern"
                            inBundle: [NSBundle bundleForClass: [self class]]
       compatibleWithTraitCollection: nil];

該映像應位於單元測試包中,而不是主包中。

暫無
暫無

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

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