在ruby中,有没有一种方法可以在定义变量或常量时“取消”定义?是否有可能取消定义一个变量在红宝石?
在我们的轨道environemnts,我们定义了三个contants一个是true
,根据环境:TESTING
,DEVELOPMENT
,或PRODUCTION
。然后,在控制器代码中,我们使用defined?
来查看我们所处的环境,即:defined? PRODUCTION
。
现在,我想单元测试一些特定于环境的行为。我最初的尝试是在我的测试中设置合适的常量,然后在拆卸过程中重置它们。但是,我不知道如何重置DEVELOPMENT
和PRODUCTION
,使defined?
返回false。
显然,一个解决办法是只检查,看看是否合适的常数也此外,如果它被定义检查真实的,但是这将导致不得不触及现有的代码中有相当。
编辑:我意识到这绝对不是正确的做事方式。唉,改变它是一项不重要的任务,所以我正在寻找一种简单的方法来单元测试现在有什么。另外,我也只是对低级语言问题是否可以取消定义变量/常量感到好奇。
这正是我一直在寻找,哈克或没有(它的单元测试代码,所以我并不十分担心,它是私有的)。谢谢! – 2008-12-04 01:37:34