我已经创建了一个项目,它工作正常。现在我需要编写一些测试用例。所以我添加并设置了SenTestingKit。然后,我开始通过创建一个类的实例来编写测试用例,并试图更改该类中某些变量的值。问题是我已经声明了一些变量作为本地(默认“保护”),并且这些变量不能被修改。那么是否有一种方法可以通过更改实例var值而不向每个变量添加@property(nonatomic,retain)来进行测试?在此先感谢..iPhone单元测试使用SenTesting框架
0
A
回答
0
我的目标是修改实例变量而不向变量添加@property()。我已经通过添加实例方法,如
-(void)setValueOfArrayCount:(int)newValue{
arrayCount = newValue;
}
-(int)getValueOfArrayCount{
return arrayCount;
}
而且我可以从这个类的外面调用这些方法。
0
您可以使用@public将其公开。你可以使用object-> member来访问成员。
0
Objective-C是一种高度自省且反身的语言。您可以访问和修改所有变量,而无需将其配置为公共。
如果你确实有一个setter(但受保护的),你只需要做些什么作为
[myObject的performSelector:@选择(setMyiVar :) withObject:值]。
如果你没有它的setter,你总是可以使用运行时方法来访问和修改你的ivar使用class_getInstanceVariable
。检查它在http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html
希望它有帮助!
相关问题
- 1. 我如何测试NSAssert使用iPhone的单元测试框架
- 2. 单元测试使用茉莉花单元测试框架node.js
- 3. WPF单元测试框架
- 4. Zend框架单元测试
- 5. ColdFusion单元测试框架
- 6. 使用Visual Studio测试框架进行C++单元测试
- 7. 具有ms单元测试框架的单元测试实体框架
- 8. 通用单元测试框架
- 9. 如何调试使用Microsoft Moles框架的单元测试
- 10. iphone sdk中没有单元测试框架吗?
- 11. 使用Spring框架单例bean进行单元测试
- 12. 单元测试球衣REST调用与球衣测试框架
- 13. MSTest&Silverlight单元测试框架教程
- 14. .NET Framework 3.5的单元测试框架?
- 15. 哪个单元测试框架?
- 16. x单元测试框架C
- 17. 安装设备单元测试框架
- 18. MATLAB的单元测试框架
- 19. 单元测试同步框架
- 20. VS 11单元测试框架
- 21. 实体框架6和单元测试
- 22. 声纳C单元测试框架
- 23. CMake的C单元测试框架
- 24. AS3单元测试框架或库
- 25. ASP.NET MVC的单元测试框架?
- 26. 单元测试实体框架
- 27. Starbasic有单元测试框架吗?
- 28. Mono Android。单元测试框架
- 29. 单元测试框架对于C
- 30. 单元测试实体框架验证