我正在使用较旧版本的PHPUnit(3.4)编写单元测试,因此无法使用3.5和3.6手册中列出的所有支持的断言.虽然我可以在我的环境中重新设置测试以获得即时支持,但我想让我的测试依赖于当前版本的PHPUnit,所以只要我或任何其他人的测试环境提供PHPUnit 3.5+,它就会使用assertsInstanceOf() .
我以为会有一些由PHPUnit自动定义的常量,但是我找不到任何关于它的文档.
在调用命令行时,有没有办法实现这一点而不需要定义常量?
我知道之前提到的这个问题,但那里的决议并不适用.我有一个UINavigationController,它使用IB设置嵌入式UITableViewController.在IB中,UITableView的委托和dataSource都设置为我的UITableViewController的派生.使用XCode的UITableViewController类模板添加了这个类.没有自定义UITableViewCell,表视图仅使用具有单个标题的默认普通样式.
好吧,在模拟器中,列表正确呈现,dataSource提供了两个元素,因此dataSource正确链接.如果我在IB中删除了dataSource的出口链接,则会呈现一个空表.
一旦我点击这两个项目中的一个,它就会闪烁蓝色并且GDB __forwarding__在a的范围内遇到中断UITableView::_selectRowAtIndexPath.它没有达到我的非空方法didSelectRowIndexPath中设置的断点.我检查了参数和方法的名称,以排除导致不同选择器的拼写错误.
我最近没有成功设置委托是否正确,但因为它被设置为等同于从同一个类中获取两个元素的dataSource,我希望它能够正确设置.那么,怎么了?
我正在运行iPhone/iPad SDK 3.1.2 ...但是在模拟器中尝试使用iPhone SDK 3.1.
编辑:这是我的UITableViewController派生的代码:
#import "LocalBrowserListController.h"
#import "InstrumentDescriptor.h"
@implementation LocalBrowserListController
- (void)viewDidLoad {
[super viewDidLoad];
[self listLocalInstruments];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
[super viewDidUnload];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [entries count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; …Run Code Online (Sandbox Code Playgroud)