Добавление завершения к (интерактивному)

Общее решение, которое будет работать с любой средой тестирования (, если ваш класс не является final), - это вручную создать свой собственный макет.

  1. Изменить ваш частный метод для защиты.
  2. В вашем тестовом классе расширение класса
  3. переопределяет ранее закрытый метод для возврата любой константы, которую вы хотите

Это не использует фреймворк, поэтому он не такой элегантный, но он всегда будет работать: даже без PowerMock. Кроме того, вы можете использовать Mockito для выполнения шагов №2 и amp; # 3 для вас, если вы уже сделали шаг №1.

Чтобы издеваться над частным методом напрямую, вам нужно использовать PowerMock, как показано в другом ответе .

16
задан Inaimathi 4 March 2010 в 20:33
поделиться

1 ответ

Аргумент interactive не обязательно должен быть строкой; если это не так, он вычисляется, чтобы получить список аргументов для передачи функции. Таким образом, вы можете сделать что-то вроде этого:

(defun insert-foo-bar-or-baz (arg)
  (interactive
   (list
    (completing-read "Choose one: " '("foo" "bar" "baz"))))
  (insert arg))
29
ответ дан 30 November 2019 в 21:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: