我终于能够让mxunit和mocking在我的本地Windows安装上工作了,但是在sys管理员将其安装到我们的Linux服务器上之后,我只有在使用它时才会得到以下错误。它对另一个不需要模仿的应用程序工作得很好。
违规代码:
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中有没有我应该设置的东西?
发布于 2013-10-12 06:05:17
该错误是因为MXUnit / Mockbox正在尝试创建指定的文件,但CF没有写入该位置的权限。
通常的修复方法是更新存根目录的权限,这样CF就可以写入和访问那里的文件。(使用chown/chmod,或请系统管理员执行此操作。)
另一种选择是使用CF有权限的其他位置。您可以通过在初始化MockBox时将generationPath参数传递给MockBox来设置它,或者...
new coldbox.system.testing.MockBox( generationPath="path" )..。如果你自己初始化它,或者从单元测试中初始化...
getMockBox().init( generationPath="path" )所提供的路径需要是相对的-即cfinclude可以使用的路径,因此可能值得设置一个映射。
https://stackoverflow.com/questions/19327888
复制相似问题