我在代码中使用了这样的rackunit
(run-tests (test-suite "suite-name"
(test-case "case name"
...
))
我正在尝试练习TDD。当断言失败时,我可以看到哪个断言失败。但是不幸的是,如果发生错误,rackunit只会向我显示遇到的错误和失败的测试用例名称。
如果我正常执行代码,则会看到带有行号的堆栈跟踪。如何使rackunit显示此信息?
答案 0 :(得分:2)
使用errortrace。
例如,以下程序
inline
产生:
#lang racket/base
(require rackunit
rackunit/text-ui)
(define suite
(test-suite "suite-name"
(test-case "case name"
(check-equal? (1) 3))))
(run-tests suite)
使用--------------------
suite-name > case name
ERROR
application: not a procedure;
expected a procedure that can be applied to arguments
given: 1
arguments...: [none]
--------------------
0 success(es) 0 failure(s) 1 error(s) 1 test(s) run
1
运行时。
但是如果我们使用racket test.rkt
运行它,它将产生:
racket -l errortrace -t test.rkt