gpt4 book ai didi

visual-studio-code - 如何在 Julia 中开发包时调试单元测试

转载 作者:行者123 更新时间:2023-12-05 01:57:34 28 4
gpt4 key购买 nike

假设我开发了一个依赖项有限的包(例如,LinearAlgebra)。在单元测试部分,我可能需要额外的依赖项(例如,CSV 来加载文件)。我可以在 Project.toml 中进行配置,一切正常。

现在在 VS Code 中,如何调试单元测试?我尝试在调试器中运行“runtests.jl”;然而,不出所料,它会提示 CSV 包不可用。

我可以添加 CSV 包(作为临时解决方案),但我更希望调试器使用单元测试的配置运行;我怎样才能做到这一点?

根据要求,这里是如何重现它的(它不是很简单,但我使用了一个常用的包,因为它让我确信包不是问题所在)。我们将使用 DataFrame 并尝试为其单元测试执行调试器。

  • 制作本地版本的 DataFrames 以开发其中的功能。我在新的 REPL 中执行 dev DataFrames
  • 通过 VS-code 用户界面选择正确的环境(在 .julia/dev/DataFrames 中)。
  • 通过在 pkg 提示符下执行 test DataFrames 来执行“适当的”单元测试。一切都应该顺利进行。
  • 尝试直接执行测试(打开 runtests.jl 并使用 vs-code 中的“运行”按钮)。我看到了一些错误类型:
LoadError: ArgumentError: Package CategoricalArrays not found in current path:
- Run `import Pkg; Pkg.add("CategoricalArrays")` to install the CategoricalArrays package.

这与 CategoricalArrays 存在于 Project.toml 的 [extras] 部分但不存在于 [deps] 中是一致的。

  • 最后,执行“运行和调试”而不是“运行”命令。我在这里遇到类似的错误是第一个:
Test Summary: | Pass  Total
merge | 19 19
PASSED: index.jl
FAILED: dataframe.jl
LoadError: ArgumentError: Package DataStructures not found in current path:
- Run `import Pkg; Pkg.add("DataStructures")` to install the DataStructures package.

所以我无法在需要额外包的部分之后调试代码。

  • 之后,我在 pkg 提示符下使用命令 free DataFrames 删除了这个包。

我在我的包中看到了相同的行为。

最佳答案

我不确定我是否理解您的问题,但我认为您可能正在寻找 TestEnv包裹。它允许您激活包含 [extras] 依赖项的临时环境。 discourse announcement包含对用例的良好描述。

关于visual-studio-code - 如何在 Julia 中开发包时调试单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69134046/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com