Как проверить права доступа к файлам в NUnit? - PullRequest
3 голосов
/ 03 декабря 2009

Я пытаюсь выполнить модульный тест операций чтения файлов. В этом случае мне также нужно убедиться, что, если конкретный пользователь не имеет доступа для чтения, он должен получить исключение ...

Но почему-то я не могу заставить его работать, кто-нибудь может что-то подсказать?

PS: я использую Rhino mock и NUnit

Ответы [ 3 ]

2 голосов
/ 03 декабря 2009

Вы можете использовать расширение «Do» Rhino.Mocks, чтобы выдать конкретное исключение:

public delegate void ThrowExceptionDelegate();
mystub.Stub(x => x.ReadFile()).Do(new ThrowExceptionDelegate(delegate()
    { throw new IOException(); }
    ));

Это позволит вам протестировать код обработки исключений.

1 голос
/ 26 марта 2012

Я бы пошел на правильный приемочный тест - слишком частое использование макетов может быть немного опасным. В этом случае легко программно установить + сбросить права доступа к файлу.

У меня была похожая проблема - хотел проверить проблему с разрешениями + придумала следующий вспомогательный класс, чтобы обернуть библиотечный API для возни с файловыми разрешениями

установить права доступа к файлам для c: \ program files \ company \ app \ file для всех пользователей

1 голос
/ 03 декабря 2009

Вам нужно получить тест, который вместо чтения файла использует макет, который выдает исключение вместо реального чтения файла. Затем вы можете убедиться, что соответствующая обработка запущена и все работает как надо.

Если вам нужен лучший ответ, вам нужно привести пример ваших занятий и, возможно, скелет теста, который вы написали до сих пор.

...