我的单元测试运行良好,但是make test
目标在测试失败(echo $?
为0)时不会返回错误代码(在出现Lisp错误时会返回错误代码)。
这对CI系统不利。
我的主系统定义以in-order-to
结尾:
:in-order-to ((test-op (test-op "mysystem/test"))))
我的测试系统有一个perform
:
:perform (test-op (o s)
(uiop:symbol-call '#:mysestem.test '#:test-all)))
其中test-all
是使用run! 'test-suite
运行Fiveam测试套件的函数。
make目标:
test:
# (with proper indentation…)
$(LISP) --non-interactive \
--eval "(asdf:load-asd \""$(ASD_PATH)"\")" \
--eval "(ql:quickload :mysystem/test)" \
--eval "(asdf:test-system \"mysystem\")"
请注意,紧随ASDF的best practices
(symbol-call :fiveam #':run! :test-suite)))
错误提示“函数:run!未定义。”
我们如何做到这一点?
谢谢。
答案 0 :(得分:1)
似乎有错别字:
alarmPeriod
⇒'#:mysestem.test
'#:mysystem.test
⇒#':run!