Julia 无法测试用户包

标签 julia

我有一个我在本地开发的 Julia 包,我们称之为 mypack ,而且我无法在 pkg 中用 Julia 自动测试它模式。运行 pkg>test mypack给了我以下错误:

(v1.3) pkg> test mypack
  Updating registry at `~/.julia/environments/v1.3/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
   Testing mypack
 Resolving package versions...
[ Info: No changes
    Status `/tmp/jl_m6URie/Manifest.toml`
  [4e168b6d] mypack v0.1.0 [`~/Documents/mypack`]
ERROR: LoadError: ArgumentError: Package Test not found in current path:
- Run `import Pkg; Pkg.add("Test")` to install the Test package.

Stacktrace:
 [1] require(::Module, ::Symbol) at ./loading.jl:887
 [2] include at ./boot.jl:328 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1105
 [4] include(::Module, ::String) at ./Base.jl:31
 [5] include(::String) at ./client.jl:424
 [6] top-level scope at none:6
in expression starting at /home/myname/Documents/mypack/test/runtests.jl:1
ERROR: Package mypack errored during testing

我的 mypack项目具有预期的结构,其中有一个带有 Project.toml 的根目录和 Manifest.toml使用 ]generate mypack 生成. /test/runtests.jl只是线
using Test

这适用于我测试过的两台机器,其中一台使用 Julia 1.1,另一台使用 Julia 1.2。错误发生在新安装的 Julia 1.3 上。

我能够测试其他包(例如 Statistics 就好了,我这样做是为了确保 Test 正常工作)。我有一个更复杂的项目引起了我的注意,但是这个 mypack MWE 也坏了。

最佳答案

当您运行时 Pkg.test , pkg 创建一个测试环境。此环境由直接依赖项和测试依赖项组成。任何由 test/runtests.jl 导入的依赖项需要在这个测试环境中。

因为您的 test/runtests.jl进口 Test标准库,您需要将其添加为测试依赖项。您可以使用此方法添加测试依赖项:https://julialang.github.io/Pkg.jl/v1/creating-packages/#Test-specific-dependencies-in-Julia-1.0-and-1.1-1 .

关于Julia 无法测试用户包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60661774/

相关文章:

c++ - 为什么 Boost 的 QuickSort 比 Julia 的 QuickSort 慢?

julia - 如何修复 Julia 中的空数组构造函数?

assert - Julia 的 @assert 不再评估断言消息?

arrays - 如何将 Array{Float64, 1} 转换为 float 在 Julia 中?

julia - 我无法将 github 存储库添加到 Julia

module - 了解如何扩展 Julia 模块

julia - 如何在 Julia 图中制作科学的 y 刻度?

python - 你能在 Julia 中导入任何 python 库吗?

benchmarking - Julia 语言真的像它声称的那么快吗?

dataframe - DataFrames.jl 中 "r"之前的 "..."的用途是什么