11

在 sbt 中为基于 specs2 的测试执行此操作的方法是

(testOptions in Test) += Tests.Argument(TestFrameworks.Specs2, "html")

但是scalatest怎么样?我做了很多谷歌搜索,但找不到好的解释/解决方案。

4

3 回答 3

9

所以我需要做两件事......

I. 使用 2.0.M5b 之后的任何 scalatest 工件。对我来说,我添加了这个依赖,

org.scalatest" %% "scalatest" % "2.0.M6" % "test->*" excludeAll ( ExclusionRule(organization="org.junit", name="junit") )

"test->*" 是必需的,否则生成 html 所需的依赖项将不会被下载。(一定有比这更好的方法)

二、在 build.sbt 中,添加

(testOptions in Test) += Tests.Argument(TestFrameworks.ScalaTest, "-u", "target/report")

于 2013-09-10T17:00:31.767 回答
5

请注意该设置。

org.scalatest" %% "scalatest" % "2.0.M6" % "test->*

它提取了一些 ivy 无法解决的 junit:junit:3.8.1 依赖项。看到这个错误

这是在 ScalaTest 2.0 中更好的方法

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-u", "target/test-reports")

这在詹金斯很好用

于 2014-02-27T15:45:32.650 回答
0

这是我的做法。build.sbt以这种方式更改您的:

Test/testOptions := Seq(
  Tests.Argument(TestFrameworks.ScalaTest, "-h", "target/scalatest")
),
projectDependencies ++= Seq(
  "org.scalatest" %% "scalatest" % "3.2.9" //% Test,
  "com.vladsch.flexmark" % "flexmark" % "0.36.8" % Test,
  "com.vladsch.flexmark" % "flexmark-profile-pegdown" % "0.36.8" % Test,
  ...
)

flexmark依赖关系没有记录,但它是必要的。将在target/scalatest目录中生成 HTML 报告。您可以使用 Jenkins 发布它。我已经用最新版本的 flexmark 进行了测试,但它不起作用。

于 2022-01-04T07:42:54.187 回答