Я не делаю модульных тестов простой метод set/методы получателя, которые не имеют никаких побочных эффектов. Но я делаю модульный тест любой открытый метод. Я пытаюсь создать тесты для всех граничных условий в моем algorthims и проверить покрытие моих модульных тестов.
Его большая работа, но я думаю его стоящий того. Я записал бы код (даже тестирующий код), чем шаг через код в отладчике. Я нахожу code-build-deploy-debug цикл очень трудоемким и чем более исчерпывающий модульные тесты, которые я интегрировал в свою сборку, тем меньше времени я провожу прохождение через этого code-build-deploy-debug цикл.
Вы не сказали, почему архитектура Вы кодируете также. Но для Java я использую Знаток 2 , JUnit, DbUnit, Cobertura, & EasyMock.
(defun maybe-fill-paragraph (&optional justify region)
"Fill paragraph at or after point (see `fill-paragraph').
Does nothing if `visual-line-mode' is on."
(interactive (progn
(barf-if-buffer-read-only)
(list (if current-prefix-arg 'full) t)))
(or visual-line-mode
(fill-paragraph justify region)))
;; Replace M-q with new binding:
(global-set-key "\M-q" 'maybe-fill-paragraph)
Вместо использования global-set-key
, вы также можете повторно привязать Mq
только в определенных режимах. (Или вы можете изменить глобальную привязку, а затем связать Mq
обратно с fill-paragraph
в определенном режиме.) Обратите внимание, что многие режимы загружаются автоматически, поэтому их раскладка клавиатуры может не работать. определяется до тех пор, пока режим не будет активирован. Чтобы установить привязку для конкретного режима, я обычно использую такую функцию:
(add-hook 'text-mode-hook
(defun cjm-fix-text-mode ()
(define-key text-mode-map "\M-q" 'maybe-fill-paragraph)
(remove-hook 'text-mode-hook 'cjm-fix-text-mode)))
( remove-hook
не является строго необходимым, но функция должна запускаться только один раз.)
вы можете использовать совет для этого.
Для вашего .emacs:
(defadvice fill-paragraph (around disable-for-visual-line-mode activate)
(unless visual-line-mode
ad-do-it))
Это изменит абзац заполнения так, чтобы он ничего не делал, когда включен режим visual-line-mode. Вы также можете добавить ошибку, если хотите.