如何让Julia终端自动生成./test/runtests.jl?
(我目前在MacOS上使用的是Julia v1.2.0)
我尝试过的事情:
shell> ls
Manifest.toml Project.toml src
NewtonRootFinding.ipynb SecantRootFinding.ipynb
shell> cat test/runtest.jl
cat: test/runtest.jl: No such file or directory
(v1.2) pkg> status
Status `~/.julia/environments/v1.2/Project.toml`
[7073ff75] IJulia v1.20.0
[438e738f] PyCall v1.91.2
[d330b81b] PyPlot v2.8.2
(Prob1) pkg> activate ./test
Activating new environment at `~/..../Prob1/test/Project.toml`
shell> ls
Manifest.toml Project.toml src
NewtonRootFinding.ipynb SecantRootFinding.ipynb
(test) pkg> status
Status `~/.../Prob1/test/Project.toml`
(empty environment)
(test) pkg> add Test
Resolving package versions...
Updating `~/.../Prob1/test/Project.toml`
[8dfed614] + Test
Updating `~/.../Prob1/test/Manifest.toml`
[2a0f44e3] + Base64
[8ba89e20] + Distributed
[b77e0a4c] + InteractiveUtils
[56ddb016] + Logging
[d6f4376e] + Markdown
[9a3f8284] + Random
[9e88b42a] + Serialization
[6462fe0b] + Sockets
[8dfed614] + Test
(test) pkg> status
Status `~/.../test/Project.toml`
[8dfed614] Test
(test) pkg> activate .
Activating environment at `~/.../Prob1/Project.toml`
(Prob1) pkg> status
Project Prob1 v0.1.0
Status `~/.../Prob1/Project.toml`
[7073ff75] IJulia v1.20.0
[438e738f] PyCall v1.91.2
[d330b81b] PyPlot v2.8.2
[8dfed614] Test
(Prob1) pkg> activate ./test
Activating environment at `~/.../Prob1/test/Project.toml`
shell> cat test/runtests.jl
cat: test/runtests.jl: No such file or directory
shell> tree .
.
├── Manifest.toml
├── NewtonRootFinding.ipynb
├── Project.toml
├── SecantRootFinding.ipynb
├── src
│ └── Prob1.jl
└── test
├── Manifest.toml
└── Project.toml
当我在shell脚本中键入树时,。/ test目录中没有runtests.jl Julia文件。
我不知道为什么。
我跟进了Julia教程:https://julialang.github.io/Pkg.jl/v1/creating-packages/index.html
但这没用。
答案 0 :(得分:3)
实际上,在最新版本的Pkg.jl docs中建议使用 但适用于所有版本的Julia。
注意
PkgTemplates软件包提供了一种非常容易,可重复和可自定义的方式来为新软件包生成文件。我们建议您使用PkgTemplates创建新程序包,而不要使用下面介绍的最小功能
pkg> generate
。
据我猜测,几乎只有Julia开发人员不使用它, 是一些不知道的。 (希望这篇文章对您有所帮助)
这是一个非常简单的示例,带有一个简单的模板。
using PkgTemplates;
template = Template(; user="oxinabox", dir=".");
generate("MyNewPackage", template);
看到它创建了一个runtests.jl
文件:
shell> ls ./MyNewPackage/test/
runtests.jl
它还设置了git遥控器。
但是它可以做的更多。 我至少会:
template = Template(;
user="myusername",
license="MIT",
authors=["Lyndon White"],
dir=".",
julia_version=v"1.0",
plugins=[
TravisCI(),
Coveralls(),
GitHubPages(),
],
)
答案 1 :(得分:0)
@furas是正确的。您需要自己创建./test/runtests.jl
文件。当您在包管理器中使用generate
命令时,它是未自动创建的。