gpt4 book ai didi

objective-c - 使用 SenTest 测试断言

转载 作者:行者123 更新时间:2023-11-28 20:32:35 29 4
gpt4 key购买 nike

我在方法中有代码断言( ) 参数在给定范围内。我想使用 SenTest 测试用例来测试非法参数。

我的第一个假设是我应该使用 STAsertThrows( ... ) 但是这报告说断言失败时不会抛出异常。我可以使用 STAsert... 宏捕获 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: 中的断言是否失败?

最佳答案

如果您使用NSAssert(或NSAssert1NSAssert2 等)而不是assert,您可以捕获 NSInternalInconsistencyException

关于objective-c - 使用 SenTest 测试断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12750407/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com