2013-10-11 3 views
2

Наконец-то я смог получить mxunit и издеваться над моей локальной установкой Windows, но после того, как sys admin установил ее на нашем Linux-сервере, я получаю следующую ошибку только тогда, когда я ее использую. Он отлично работает для другого приложения, которое не требует насмешек.MXUnit mocking permission denied

код Оскорблять:

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) 

Есть ли что-то, что я должен быть установка в моем тесте/Application.cfc?

ответ

0

Ошибка в том, что MXUnit/Mockbox пытается создать указанный файл, но у CF нет разрешения на запись в это место.

Обычным решением для этого было бы обновление разрешений для этого каталога заглушек, чтобы CF мог писать и получать туда файлы. (Используйте chown/chmod или попросите администратора sys сделать это.)

Другой вариант - использовать другое местоположение, к которому у CF есть разрешение. Вы можете установить это, передавая generationPath аргумент MockBox, когда вы отформатируйте ее, либо ...

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

... если вы инициализацией его самостоятельно, или из модульного тестирования ...

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

Путь должен быть относительным - то есть, что-то cfinclude может использовать, поэтому, возможно, стоит настроить сопоставление.

+0

Спасибо. Я понимаю проблему, но я не был уверен в решении конечного пользователя, например, о том, где можно было бы создать файл. Луис указал мне в направлении getMockBox(). Init (generationPath = "path"). – Aaron

+0

Дох, я был идиотом - не знаю, как я пропустил, что он писал о файле, а не читал, но как-то я обновил ответ и упомянул этот вариант. –

+0

Кроме того, если вы еще этого не сделали, вероятно, стоит прочитать страницу [Mockbox] (http://wiki.coldbox.org/wiki/MockBox.cfm) в вики Coldbox - там много информации. –