changing constants for unit tests

I'm writing some unit tests in cocoa for a data driven application.

I've got a constants header file which defines a whole heap of variables including paths to the databases etc.

I was wondering if it's possible to get all the classes to use a different set of constants which would link to a testing version of the database etc.

I've tried redefining the constants, but it doesn't take effect globally.


You could instead have a structure that contained all of the constants used and pass it into your objects' constructors. Normally that structure will be whatever values are necessary to run but when you're testing, you would instead pass a structure with the fields initialized to test parameters

I'm know absolutely nothing about objective C though, so I'm not sure if this is possible for you.


You can put all your constants into a singleton object that has read only properties for the constants. Then you can mock the constants object and change the constants.

链接地址: http://www.djcxy.com/p/35142.html

上一篇: 如何在Objective中创建委托

下一篇: 改变单元测试的常量