单元测试 – 如何为未导出的函数编写单元测试?

我有一个模块,我正在编写与travis.ci一起运行的单元测试.

在我的模块中,我对Web服务执行HTTP POST操作.

我内部唯一的函数之一validate_http_response()是我创建的用于包装Web服务调用的函数的组成部分,因此我想测试它.但是,因为没有这样的导出validate_http_response,我的测试脚本无法“看到”该函数,我收到错误:

validate_http_response not defined

我应该如何构建我的测试,以便我不必将内部函数复制并粘贴到测试本身(其中有一些)?我想防止必须同时维护src和测试脚本.

编辑除了接受的答案,我还发现我可以在测试脚本的开头执行以下操作:include(“../ src / myfunctions.jl”),因为我为src中的每个文件都有一个单独的测试脚本.

最佳答案
再次,查看模块上的documentation以更好地了解命名空间的工作原理. Julia中没有强制可见性,因此您可以通过完全限定引用来访问任何模块中的函数,导出或未导出.因此,在您的情况下,如果您的模块名为HTTP,您可以说HTTP.validate_http_response来访问您未导出的函数进行测试.

转载注明原文:单元测试 – 如何为未导出的函数编写单元测试? - 代码日志