[英]Test initialCommands in SBT
我的build.sbt
有一個子項目,其中的initialCommands
設置相當長,包括導入列表和一些定義。 我想將其作為常規CI的一部分進行測試,因為否則,在重構代碼后,我不會注意到破壞更改。 我不清楚該怎么做。
sbt console
似乎並不能解決問題,因為即使沒有編譯代碼,總會有一個“成功”的退出代碼。 :load
也總是可以成功退出代碼。 scala -e
但這在我的機器上做奇怪的事情(請參見下面的錯誤日志)。 這是Scala 2.12。
$ scala -e '1'
cat: /release: No such file or directory
Exception in thread "main" java.net.UnknownHostException: <my-host-name-here>: <my-host-name-here>: Name or service not known
您可以生成一個文件,然后像運行其他任何測試文件一樣運行它:
(sourceGenerators in Test) += Def.task {
val contents = """object TestRepl {
{{}}
}""".replace("{{}}", (initialCommands in console).value)
val file = (sourceManaged in Test).value / "repltest.scala"
IO.write(file, contents)
Seq(file)
}.taskValue
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.