我有一个调用的程序(display "foo")
我想为它编写一个单元测试,以确认它在那里发送正确的数据,但display
将其输入发送到标准输出:
(define (display x #!optional (port ##sys#standard-output))
(##sys#check-output-port port #t 'display)
(##sys#print x #f port) )
问题:在其他语言中,我可能会将标准输出重新定义为仅写入变量的内容,然后在测试后将其设置回来。在鸡肉中这样做是正确的吗?如果是这样,怎么做?如果不是,那么正确的做法是什么?
注意:传递其他内容以显示为第二个参数不是一个选项,因为我必须更改我正在单元测试的方法才能这样做。