Как использовать spock, чтобы пропустить некоторые методы внутренней пустоты ⇐ JAVA
Как использовать spock, чтобы пропустить некоторые методы внутренней пустоты
код:
публичный класс A{ публичный метод void (пользователь-пользователь) { Имя строки = user.getName(); if("Том".equals(имя)){ метод1 (пользователь); }еще{ метод2 (пользователь); } } } Я хочу написать тест A#method() с использованием spock. Как видите, когда я тестирую метод(), меня не волнует выполнение метода 1() или метода 2(), я просто хочу убедиться, что эти два метода будут вызваны в определенном случае. Мой тестовый код:
@RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(Sputnik.class) класс ASpec расширяет спецификацию { защита "метод"(){ данный: процесс защиты = новый A() ожидать: процесс.метод (ввод как пользователь) где: ввод || _ новый пользователь(имя:"Том") || _ } } Я обнаружил, что метод 1() действительно выполняется, но я думаю, что смысл модульного теста заключается только в проверке правильности процесса, поэтому я не хочу, чтобы метод 1() действительно выполнялся, а просто вызывался. Что мне делать?
пс. Еще я использую шпион:
@RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(Sputnik.class) класс ASpec расширяет спецификацию { защита "метод"(){ данный: Процесс = Шпион() ожидать: процесс.метод (ввод как пользователь) где: ввод || _ новый пользователь(имя:"Том") || _ } } но метод1() также выполняется.
код:
публичный класс A{ публичный метод void (пользователь-пользователь) { Имя строки = user.getName(); if("Том".equals(имя)){ метод1 (пользователь); }еще{ метод2 (пользователь); } } } Я хочу написать тест A#method() с использованием spock. Как видите, когда я тестирую метод(), меня не волнует выполнение метода 1() или метода 2(), я просто хочу убедиться, что эти два метода будут вызваны в определенном случае. Мой тестовый код:
@RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(Sputnik.class) класс ASpec расширяет спецификацию { защита "метод"(){ данный: процесс защиты = новый A() ожидать: процесс.метод (ввод как пользователь) где: ввод || _ новый пользователь(имя:"Том") || _ } } Я обнаружил, что метод 1() действительно выполняется, но я думаю, что смысл модульного теста заключается только в проверке правильности процесса, поэтому я не хочу, чтобы метод 1() действительно выполнялся, а просто вызывался. Что мне делать?
пс. Еще я использую шпион:
@RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(Sputnik.class) класс ASpec расширяет спецификацию { защита "метод"(){ данный: Процесс = Шпион() ожидать: процесс.метод (ввод как пользователь) где: ввод || _ новый пользователь(имя:"Том") || _ } } но метод1() также выполняется.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
«Не удается неявно преобразовать тип пустоты в Bool» на пользовательский предикат [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Переменная или поле объявлено пустоты, даже если она, очевидно, является функцией [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как получить максимально доступный размер внутренней высоты и внутренней ширины окна?
Anonymous » » в форуме Javascript - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-