Lisp-unitを使用しようとしています。
私は、 quicklispで lisp-unit をインストールすることができました: (ql:quickload "lisp-unit")
.
Lisp-unit ホームページの指示に従って、関数を定義して make することができましたdefine-test
。
(defun greater (x y) (if (> x y) x y))
(use-package :lisp-unit)
(define-test greater
(assert-equal 2 (greater 1 2))
(assert-equal 2 (greater 2 1))
(assert-equal -1 (greater -5 -1))
(assert-equal 0 (greater -2 0))
(assert-equal 3 (greater 3 3))
)
ただし、 を実行しようとすると(run-tests greater)
、このエラー メッセージが表示されます。
EVAL: variable GREATER has no value
[Condition of type SYSTEM::SIMPLE-UNBOUND-VARIABLE]
Backtrace:
0: [1956] frame binding variables (~ = dynamically):
| ~ SWANK::*SLDB-STEPPING-P* <--> NIL
1: [1953] frame binding variables (~ = dynamically):
| ~ SWANK::*SLDB-LEVEL* <--> 7
2: [1950] frame binding variables (~ = dynamically):
| ~ *PACKAGE* <--> #<PACKAGE COMMON-LISP-USER>
何が間違っている可能性がありますか? これは私が使用した完全なソースコードです:
(ql:quickload "lisp-unit")
(use-package :lisp-unit)
(defpackage :bob
(:use :common-lisp)
(:export #:greater))
(in-package bob)
(defun greater (x y) (if (> x y) x y))
(lisp-unit:define-test greater
(assert-equal 2 (greater 1 2))
(assert-equal 2 (greater 2 1))
(assert-equal -1 (greater -5 -1))
(assert-equal 0 (greater -2 0))
(assert-equal 3 (greater 3 3))
)
(lisp-unit:run-tests greater)
追加した
これは動作するテストコードです:
(ql:quickload "lisp-unit")
(use-package :lisp-unit)
(defun greater (x y) (if (> x y) x y))
(define-test test-greater
(assert-equal 2 (greater 1 2))
(assert-equal 2 (greater 2 1))
(assert-equal -1 (greater -5 -1))
(assert-equal 0 (greater -2 0))
(assert-equal 3 (greater 3 3))
)
(run-tests '(test-greater))