使用XCTest在单元测试中获取变量的nil值

时间:2014-02-03 15:01:26

标签: ios7 xcode5 xctest

appDelegate实例显示nil值,测试用例“testAppDelegate”失败。 苹果开发者网站提供的示例代码也是如此,但是正在使用SenTestCase,请帮助我,甚至根据WWDC 2013视频设置目标"Testing in Xcode 5 session 409"

@interface Tests : XCTestCase
{
    AppDelegate *appDelegate;
    AppViewController *appVC;
    UIView *appView;
}
@end

@implementation Tests

- (void)setUp
{
    [super setUp];
    appDelegate = [[UIApplication sharedApplication] delegate];
    appVC = appDelegate.appViewController;
    appView = appVC.view;

 }

 - (void)tearDown
 {
     [super tearDown];
 }

 - (void)testAppDelegate
{
    XCTAssert(appDelegate, @"Cannot find the application delegate");
}

- (void)testCheckForViewInitializatio
{
    XCTAssert(appVC, @"AppViewController initialized");
}

2 个答案:

答案 0 :(得分:0)

试试这个:

  • 转到项目设置
  • 选择测试目标
  • 常规标签中将目标部分切换为您的主要目标

再次运行

答案 1 :(得分:0)

安东给出了正确的建议。 但如果它不起作用(在我的情况下)尝试:

  1. 删除现有的测试目标

  2. 创建新的测试目标(左侧窗格中的第5个选项卡 - >点击左下角的+ - >新测试目标)和

  3. 在出现的窗口中,不要忘记选择您的应用程序作为测试目标的目标。

  4. 将所有TestCases文件添加到新目标。

  5. 我不知道原因,但是当我用新目标运行测试时,在此操作之后它开始正常工作。