Coldfusion MXUnit模拟权限被拒绝
我终于能够让mxunit和mocking在我的本地Windows安装上运行,但是在sys管理员将它安装到我们的Linux服务器上之后,我只有在使用它时才会出现以下错误。它适用于另一个不需要模拟的应用程序 违规代码:Coldfusion MXUnit模拟权限被拒绝,coldfusion,coldbox,mxunit,Coldfusion,Coldbox,Mxunit,我终于能够让mxunit和mocking在我的本地Windows安装上运行,但是在sys管理员将它安装到我们的Linux服务器上之后,我只有在使用它时才会出现以下错误。它适用于另一个不需要模拟的应用程序 违规代码: mockLogger = getMockBox().createMock('coldbox.system.logging.Logger'); mockLogger.$("info").$("debug").$("warn").$("error"); model.$property(p
mockLogger = getMockBox().createMock('coldbox.system.logging.Logger');
mockLogger.$("info").$("debug").$("warn").$("error");
model.$property(propertyName="logger", mock=mockLogger);
错误:
/shared/coldbox/system/testing/stubs/9DA00BFE-CBB2-164D-DAB9269585B3E317.cfm (Permission denied)
我应该在test/Application.cfc中设置什么吗?错误是因为MXUnit/Mockbox正在尝试创建指定的文件,但CF没有写入该位置的权限 通常的修复方法是更新该存根目录的权限,以便CF可以在那里写入和访问文件。(使用/或要求系统管理员执行此操作。) 另一个选项是使用CF有权访问的其他位置。您可以通过在初始化MockBox时将
generationPath
参数传递给MockBox来设置它,或者
new coldbox.system.testing.MockBox( generationPath="path" )
。。。如果你自己初始化它,或者从单元测试开始
getMockBox().init( generationPath="path" )
提供的路径需要是相对的,即cfinclude可以使用的路径,因此可能需要设置映射。谢谢。我理解这个问题,但我不确定是否有最终用户解决方案,例如控制文件的创建位置。Luis给我指出了getMockBox().init(generationPath=“path”)的方向。Doh,我是个白痴-不知道我怎么会错过写文件而不是阅读,但无论如何我已经更新了答案并提到了这个选项。另外,如果你还没有,可能值得仔细阅读一下Coldbox wiki上的内容——那里有大量的信息。