我在方法中有代码,它断言()参数落在给定范围内。我想使用 SenTest 测试用例测试非法参数。
我的第一个假设是我应该使用 STAssertThrows( ... ) 但是这会报告断言失败时不会引发异常。我可以用 STAssert... 宏捕获 assert() 失败吗?
[更新以提供示例]
在类 Foo.m
@interface Foo : NSObject {
NSUInteger count;
NSUInteger max;
}
@end
@implementation Foo
-(void) bar:(char) c {
assert( count < max );
...
}
@end
在类 TestFoo.m
@interface TestFoo : SenTestCase {
Foo testFoo_;
}
@end
@implementation TestFoo
-(void) testBar {
STAssertXXX( YYY );
}
@end
我可以使用什么 XXX 和 YYY 来测试方法 bar 中断言的失败或其他情况:?