ios - 有没有办法从 Storyboard 中实例化原型(prototype) UITableViewCell 进行测试?
<p><p>我正在使用 <code>XCTest</code> 和 <code>OCMock</code> 的组合来测试 iOS 应用程序。我正在使用 <code>UITableViewController</code> 来呈现一系列我想为其编写一些测试的原型(prototype)单元。单元格本身位于 Storyboard 中,所以我不相信我可以从 Nib 实例化它。</p>
<p>是使用 <code>viewController</code> 的唯一选项,它使用单元格来实例化它?</p>
<p>我正在使用的自定义单元类有许多“IBOutlets”连接到 Storyboard 上的原型(prototype)。单元类看起来像这样:</p>
<pre><code>@interface QRFeedAdCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UIImageView *mainImageView;
@property (strong, nonatomic) IBOutlet UIImageView *blurredImageView;
@property (strong, nonatomic) IBOutlet UILabel *titleLabel;
@property (strong, nonatomic) IBOutlet UIButton *someButton;
@property (strong, nonatomic) IBOutlet UILabel *someLabel;
@property (strong, nonatomic) IBOutlet UILabel *anotherLabel;
@property (nonatomic) BOOL isBusy;
@end
</code></pre>
<p>我尝试使用 <code>[ initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"feedAdCell"];</code> 实例化单元格,但这会加载所有属性设置为 nil 的单元格。</p>
<p>我也尝试过注册单元,但测试也失败了:</p>
<pre><code> id mockTableView = ];
forCellReuseIdentifier:@"feedAdCell"];
QRFeedAdCell *cell = ;
XCTAssertNotNil(cell, @"");
XCTAssertNotNil(cell.mainImageView, @"");
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>你不能。</p>
<p>测试它的唯一方法是实例化 Storyboard ,然后是 ViewController ,然后是单元格本身,然后测试您在 Interface Builder 中设置的属性。</p></p>
<p style="font-size: 20px;">关于ios - 有没有办法从 Storyboard 中实例化原型(prototype) UITableViewCell 进行测试?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/21145211/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/21145211/
</a>
</p>
页:
[1]