菜鸟教程小白 发表于 2022-12-13 05:57:34

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:@&#34;feedAdCell&#34;];

QRFeedAdCell *cell = ;

XCTAssertNotNil(cell, @&#34;&#34;);
XCTAssertNotNil(cell.mainImageView, @&#34;&#34;);
</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]
查看完整版本: ios - 有没有办法从 Storyboard 中实例化原型(prototype) UITableViewCell 进行测试?