iOSunit testing运行失败
在我的应用程序中,我按照以下方式执行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"); }
当我运行的应用程序,它运行正常,但是当我testing它会得到一个错误,说:
线程1:EXC_BREAKPOINT(代码= EXC_I386_BPT,子代码= 0x0)
它指向ViewDidLoad()中的这一行
messageTextView = [[UITextView alloc]init];
messageTextView是在.h文件中声明的,它不是用Interface Builder创build的,我用addSubview方法将它添加到视图中。 我宣布它是这样的:
@interface SMMenuViewController : UIViewController <UITextFieldDelegate> { } @property (strong, nonatomic) UITextView *messageTextView;
messageTextView得到合成,我“无”在viewDidUnload。 我仍然不知道为什么它在unit testing失败。
谁能告诉我为什么?
很感谢任何forms的帮助!
此致
佐利
这是一个常见的问题,但按照这个问题的接受答案中的步骤将为您解决: 如何在xcode4中实现应用程序testing?