【发布时间】:2012-10-06 02:08:44
【问题描述】:
我在方法中有代码,它断言()参数落在给定范围内。我想使用 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 来测试方法栏中的断言是否失败:?
【问题讨论】:
-
如果您向我们展示您尝试做出的断言示例,也许我们可以帮助您更轻松。
标签: objective-c unit-testing testing assert