Skip to content

Instantly share code, notes, and snippets.

@uk-ar
Created September 9, 2012 21:06
Show Gist options
  • Save uk-ar/3687304 to your computer and use it in GitHub Desktop.
Save uk-ar/3687304 to your computer and use it in GitHub Desktop.
(require 'ert)
;; テストの登録->テストの実行という流れ
;; 1. M-x eval-buffer でテストの登録
;; 2. M-x ert RET でテストの実行
(ert-deftest test1 ()
(should (eq (1+ 1) 2)))
;; (find-file "shibuya_el.org")
(require 'ert)
;; テストの失敗時には
;; 1. 評価前の式と評価後の式が出る
;; 2. 個別のテストケースにジャンプできる
;; 3. 修正後には *ert* バッファ上で r とすれば、個別のテスト実行が可能
(ert-deftest test1 ()
(should (eq (+ 1 1) 2)))
(ert-deftest test2 ()
(should (eq (+ 1 1) 2)))
;; (find-file "shibuya_el.org")
(require 'ert)
;; テストをデバッグする時にはバックトレース、edebugが使用可能
;; 1. *ert* バッファ上で b とすればバックトレースが見れる
;; 2. M-x edebug-defun でデバッガ起動
(ert-deftest test3 ()
(let ((result 1))
(should (eq (1+ 1) result))))
;; (find-file "shibuya_el.org")

Emacs Lisp のテストについて

ERTの機能とデモ

これより先は 動かしながらERTのデモを行います #org-tree-slideを使用してます

テストの登録と実行

#; テストの登録->テストの実行という流れ #; 1. M-x eval-buffer でテストの登録 #; 2. M-x ert RET でテストの実行

#; (find-file “ert-sample.el”)

テストの詳細へのジャンプ

#; テストの失敗時には #; 1. 評価前の式と評価後の式が出る #; 2. 個別のテストケースにジャンプできる #; 3. 修正後には ert バッファ上で r とすれば、個別のテスト実行が可能

#; (find-file “ert-sample2.el”)

デバッグとバックトレース

#; テストをデバッグする時にはバックトレース、edebugが使用可能 #; 1. ert バッファ上で b とすればバックトレースが見れる #; 2. M-x edebug-defun でデバッガ起動

#; (find-file “ert-sample3.el”)

まとめ

  • Emacs Lispを公開するときには、ぜひテストを!!
  • 迷ったらERTでいいのでは?

実はUIまわりのテストは 非同期に起因する罠があったり…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment