假设我想建立一个矢量库。它有一个 Vector 结构:
(struct vector (x y z))
现在我想在测试模块中为向量模块编写单元测试。
为了进行测试,我需要访问 x y 和 z。但我不想公开 vector-{xyz}
。有没有办法只为单元测试提供访问器?
最佳答案
我确实找到了一种使用 submodule 隐藏内容的方法
;; vector.rkt
(struct vector (x y z))
(module* private-test #f
(provide vector-x vector-y vector-z))
然后我可以仅出于测试目的要求私有(private)测试。
;; test.rkt
(require (submod "vector.rkt" private-test)
关于unit-testing - 如何在不暴露访问器的情况下对结构进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32373784/