MXUnit отказано в разрешении

Я наконец смог заставить 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?

1 ответ

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

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

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

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

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

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

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

Другие вопросы по тегам