iOS单元测试运行失败

时间:2012-09-13 13:56:57

标签: ios unit-testing

在我的应用程序中,我按以下方式执行单元测试:

.h文件:

@interface MyAppTests : SenTestCase
{
    SMAppDelegate* _appDelegate;
    SMMenuViewController* _menuViewController;
    UIView* _mainView;
}

.m文件

- (void)setUp
{
    [super setUp];
    _appDelegate = [[UIApplication sharedApplication]delegate];
    _menuViewController = [[SMMenuViewController alloc]init];
    _mainView = [_menuViewController view]; // to force the view to load
}

- (void)tearDown
{
    // Tear-down code here.
    _mainView = nil;
    _menuViewController = nil;
    _appDelegate = nil;
    [super tearDown];
}

- (void)testMenuViewisNotNil
{
    STAssertNotNil(_menuViewController, @"menuViewController is nil");
}

当我运行应用程序时,它运行正常,但是当我测试时会出现错误,说明以下内容:

  

线程1:EXC_BREAKPOINT(代码= EXC_I386_BPT,子代码= 0x0)

它指向ViewDidLoad()

中的这一行
messageTextView = [[UITextView alloc]init];

messageTextView在.h文件中声明,它不是使用Interface Builder创建的,我使用addSubview方法将其添加到视图中。我这样声明:

@interface SMMenuViewController : UIViewController <UITextFieldDelegate>
{
}
@property (strong, nonatomic) UITextView *messageTextView;

messageTextView得到合成,我在viewDidUnload中“nil”它。我仍然不知道为什么它在单元测试中失败了。

谁能告诉我为什么?

非常感谢任何帮助!

此致

佐利

1 个答案:

答案 0 :(得分:1)

这是一个常见问题,但按照此问题中的步骤接受的答案将为您解决:how to implement application tests in xcode4?