概要
プロジェクトのディレクトリ構成で悩むことが多くて、UnitTestをするときどういう構成にすればいいのか悩んで、一応現在のベストプラクティスが自分の中で固まったので共有したい。
自分で考えたふうに行ってるがどこかのライブラリのパクリです。しかもパクリ元を忘れてます。
こっちのほうがいいとかあったら教えてほしい。
自分の中での課題である以下を解決します。
- テストの中身ををruntests.jlに書くとruntests.jlが長大になるため辛い。
提案
ディレクトリ構成
- test
- runtests.jl # hoge_test.jlをインクルードする
- hoge_test.jl # テストの中身を書く
runtests.jlの中身
runtests.jlは各テストファイルをincludeするだけ。
その際testsetとして扱う。
ついでにベンチも出しとく。
using Test
ENV["JULIA_DEBUG"] = "all"
@time @testset "hoge" begin include("hoge_test.jl") end
# @time @testset "hoge2" begin include("hoge2_test.jl") end
各テストの中身
ディレクトリ構成におけるhoge_test.jl
module単位が良いと思っている。
どうもmoduleが他の言語のクラスと同じ感覚で実装を書いているせいでおかしいかもしれない。
using Test
using Glob #テストで使うライブラリ
using Revise
# テスト対象モジュール
# Reviseの後に書く
include("../src/hoge.jl")
import .Hoge
@testset "piyo" begin
# テスト
end
どうでもいいはなし
KING OF PRISM最高なので観てください。