我正在创建一个简单的elisp测试器。但是,我得到了错误的行为(我无法理解),如下所示。
我认为测试人员应该返回t测试用例(:eq’a’a)和(:eq(return -…
你的论点 run-test 被评估 一旦 所以 "eq1" 看到 'a 是的 (quote a) (长度为2的清单)当然是失败的 eq 。 同样的, (return-symbol) 没有评估和 "eq1" 看到长度为1的列表,这些列表在下面是不相同的 eq 。
run-test
"eq1"
'a
(quote a)
eq
(return-symbol)
你会发现只需添加即可 print 至 multi-comp 。
print
multi-comp
您的代码可能会替换您的代码 (multi-comp key a b) 同 (multi-comp key (eval a) (eval b)) 。
(multi-comp key a b)
(multi-comp key (eval a) (eval b))
请注意 你需要的事实 eval 是一个非常强烈的指标,表明你正在做一些可怕的错误 。
eval
PS。我劝你用 ERT 而不是自己滚动。