有没有办法在实时代码中切换代码进行测试?

fro*_*die 1 testing coldfusion

我有一个coldfusion网站,有一次我们输入了一个日志 - 每当运行某种类型的代码时,就会记录该代码.现在我们想把它拿出来,但仍然可以选择将它重新放入,所以我们计划每次都(有可能有数百个)查找这些代码,并注释掉日志代码.这对我来说似乎很乏味,我想知道是否有某种方法将代码标记为测试并通过在一个地方更改设置自动启用/禁用它......我想我已经在其他语言中看到过这样的功能.这在ColdFusion中可行吗?

Cia*_*her 6

我处理这个的方法是配置某种全局应用程序变量(例如doLogging),你可以打开和关闭它,并在需要时检查.如果设置为true则记录,否则不记录.

例如,Application.cfc您可以设置此变量:

<cfcomponent displayname="Application" output="false">


 <cfset APPLICATION.doLogging= false />

 <cffunction name="onRequestStart" access="public" output="false"> 

  <cfif structKeyExists(URL, "toggleLogging")>
   <cfif APPLICATION.doLogging>
    <cfset APPLICATION.doLogging = false />
   <cfelse>
    <cfset APPLICATION.doLogging = true />
   </cfif>

  </cfif>

 </cffunction>

</cfcomponent>
Run Code Online (Sandbox Code Playgroud)

然后检查代码中需要的位置:

<cfif APPLICATION.doLogging>
    <cflog file="foo" text="bar" />
</cfif> 
Run Code Online (Sandbox Code Playgroud)

虽然要使用这种新方法,但您必须更改现有代码,但将来管理它会更容易.

希望有所帮助!

编辑:更改变量名称更加明智,并添加了一个使用示例.