当我更改代码时,是否有julia库可以自动运行单元测试?
在Python中,有一个pytest.xdist
库,当您对代码进行更改时,该库可以再次运行单元测试。朱莉娅有类似的图书馆吗?
答案 0 :(得分:2)
如果您使用Github存储库,则可以通过多种方法来设置Travis或Appveyor。这是Julia注册的许多模块所使用的测试方法。您将需要编写单元测试套件(使用using Test
)并将其放置在github存储库的/ test子目录中。您可以搜索julia和这些Web服务以获取详细信息。
答案 1 :(得分:2)
可以使用标准库模块FileWatching提出一个简单的解决方案;特别是FileWatching.watch_file
。尽管有名称,它也可以与目录一起使用。如果目录发生问题(例如,您在其中保存了文件的新版本),它将返回一个带有字段changed
的对象,如果目录已更改,则该字段为true
。您当然可以将其与Glob结合使用,以代替观看一组源文件。
您可以在项目环境处于活动状态的情况下运行单独的Julia进程,并使用类似以下内容的东西:
julia> import Pkg; import FileWatching: watch_file
julia> while true
event = watch_file("src")
if event.changed
try
Pkg.pkg"test"
catch err
@warn("Error during testing:\n$err")
end
end
end
更复杂的实现是可能的;使用上述方法,您需要使用Ctrl-C中断循环才能中断。但这确实对我有用,并且每当我保存文件时都会愉快地重新运行测试。
答案 2 :(得分:1)
使用标准的GNU Makefile并根据您的用例从各个地方调用它
由于GNU makefile自动检测到更改,因此在没有更改的情况下,对make的调用将被静默忽略。