作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的主程序(至少)有一个包。我有另一个用于运行测试的包。我:在测试包的 defpackage 形式中使用主程序的包,但仅导入导出的符号。所以我无法测试所有函数,只能测试我显式导出的函数(公共(public) API)。如何解决这个问题?
最佳答案
您始终可以使用双冒号限定符引用内部(未导出)符号:
(package-name::function-name)
您还可以使用 import
将符号导入到测试包中(无论它是否从主包中导出)。例如:
(import 'package-name::function-name)
(fboundp 'function-name) ;; => t
Here's 导入
上的 CLHS 条目。
另外,如果你还没有读过,我推荐 Programming in the Large: Packages and Symbols实用 Common Lisp 中的一章。它没有直接解决您的问题,但我提到它是因为我发现它通常对重新分级包和符号非常有帮助。
关于package - 如何在不导出所有符号的情况下运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18363500/
我是一名优秀的程序员,十分优秀!