MXUnit模拟权限被拒绝

时间:2013-10-11 21:57:06

标签: coldfusion coldbox mxunit

我终于能够获得mxunit并且在我的本地Windows安装上进行模拟,但是在我的Linux服务器上安装了sys管理员之后,我只在使用它时才会收到以下错误。它适用于另一个不需要模拟的应用程序。

违规代码:

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中设置一些东西吗?

1 个答案:

答案 0 :(得分:0)

错误是因为MXUnit / Mockbox正在尝试创建指定的文件,但CF没有权限写入该位置。

通常的解决方法是更新该存根目录的权限,以便CF可以在那里编写和访问文件。 (使用chown / chmod,或要求系统管理员执行此操作。)

另一种选择是使用CF拥有权限的其他位置。您可以通过在初始化时将generationPath参数传递给MockBox来设置它,或者......

new coldbox.system.testing.MockBox( generationPath="path" )

...如果您自己或单位测试进行初始化......

getMockBox().init( generationPath="path" )

提供的路径需要是相对的 - 即cfinclude可以使用的东西,因此可能值得设置映射。