问题标签 [scct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
595 浏览

sbt - 使用 scct 时如何设置`testOptions in Test`

在 sbt 中,我可以使用此处testOptions in Test += Tests.Arguments("...")描述的方法将参数传递给 ScalaTest 。

有没有办法在调用时通过scct将这些选项传递给 ScalaTest scct:test?我试过testOptions in Scct += ...了,但似乎没有效果。

0 投票
3 回答
2110 浏览

scala - Play 上的代码覆盖率!项目

我有戏!我想在其中添加一些代码覆盖率信息的项目。到目前为止,我已经尝试过JaCoCoscct。前者的问题是它基于字节码,因此它似乎会警告缺少对 Scala 编译器自动生成的方法的测试,例如copyor canEqual。scct 似乎是一个更好的选择,但无论如何我在测试两者时都会遇到很多错误。

让我坚持使用 scct。对于尝试连接到数据库的每个测试,我基本上都会出错。我的许多测试将一些固定装置加载到内存中的 H2 数据库中,然后做出一些断言。我的Global.scala包含

而测试通常包含在一个块中

该行running(app)允许我在连接到内存数据库的工作应用程序的上下文中运行测试,至少通常如此。但是当我运行代码覆盖任务时,例如 scct coverage:doc,我得到了很多与连接数据库相关的错误。

更奇怪的是至少有 4 个不同的错误,比如:

  • ObjectExistsException:缓存播放已存在
  • SQLException: 试图从已关闭的池中获取连接
  • 配置错误[无法连接到数据库[默认]]
  • 找不到适合 jdbc:h2:mem:play-test--410454547 的驱动程序

为什么在默认配置中启动测试能够连接到数据库,而在 scct(或 JaCoCo)的上下文中运行无法初始化缓存和数据库?

0 投票
2 回答
1207 浏览

playframework-2.0 - 使用 SCCT 计算代码覆盖率时,配置文件不在 Play Framework 2.0 类路径中

我将 Play Framework 2.0 配置为使用 SCCT 进行覆盖,并且可以使用play scct:cover.

但是,我的测试无法读取任何配置文件,因为配置文件不在类路径中。也就是说,我使用类型安全的 ConfigFactory 来加载配置文件,我收到以下错误: com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'KEY.NAME'

play test并且play run工作得很好。

有什么方法可以强制 Play 的 Build.scala 将conf/目录添加到类路径中?

我的 plugins.sbt 文件的相关部分如下所示: resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

resolvers += Classpaths.typesafeResolver

resolvers += "scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo"

addSbtPlugin("reaktor" % "sbt-scct" % "0.2-SNAPSHOT")

addSbtPlugin("play" % "sbt-plugin" % "2.0.4")

我的 Build.scala 的相关部分如下所示: lazy val additionalSettings = Defaults.defaultSettings ++ seq(ScctPlugin.instrumentSettings: _*)

谢谢!

0 投票
1 回答
472 浏览

scala - 使用 SCCT 进行 Scala 集成测试的代码覆盖率

我在 Scala 中运行集成测试 - 这些都可以在src/it/scala目录中找到,并且我已将以下内容添加到我的 build.sbt 中:

但是,当我运行 SCCT 来计算代码覆盖率时,集成测试没有运行。我怎样才能让它们运行?

0 投票
1 回答
272 浏览

scala - 可以将文件和文件夹排除在 scct 中的处理之外吗?

我想知道是否有一种方法可以像在 JaCoCO4SBT 中一样从 SCCT 覆盖范围中排除文件/文件夹

0 投票
2 回答
1497 浏览

scala - sbt 和 scct .... 未找到模块:reaktor#sbt-scct;0.2-SNAPSHOT

scala 是 2.10.2 版本,sbt 是 0.13.0

我正在尝试为 scala 单元测试代码覆盖设置 scct 所以在 build.sbt 我添加了

在 project/plugins.sbt 我添加了

我得到像......这样的错误

最后一条消息是

我查看http://mtkopone.github.io/scct/maven-repo/reaktor/ 发现我似乎需要的那个不见了,例如我看到了

你能帮我吗 ?(我是sbt新手)

0 投票
0 回答
98 浏览

gradle - 从 gradle 中的 scct 中排除类

如何将课程排除在 scct 的覆盖范围之外?

我有几个类驻留在某个特定文件夹中,我不想被 scala 覆盖工具覆盖。实际上我根本不希望他们被排除在外,只是从 scct 中排除。

0 投票
2 回答
824 浏览

regex - 使用 scct 的 scala 代码覆盖率,如何通过正则表达式排除文件

在我的项目中使用 scct 有一些文件我想被排除在外

我的构建文件:

如何将设置添加到 scct 以排除所有 .html 文件(例如)

查看 scct 的 github 项目,我看到有一个过滤器选项

https://github.com/sqality/scct/blob/master/src/main/scala/com/sqality/scct/CoverageFilter.scala

并且有一个问题已解决:

https://github.com/mtkopone/scct/issues/60

知道怎么做吗?

谢谢!

0 投票
2 回答
1621 浏览

scala - 在 SBT 中禁用 scct:test 的并行执行?

我一直在研究 Scala 应用程序。为了正确地做到这一点,我希望我的代码的内核完全被测试覆盖。为此,我使用SBT 的 SCCT 插件

不幸的是,我的测试依赖于内存数据库(h2)。因此,我的测试不能并行运行。但是,sbt 默认并行运行所有任务。

为了解决这个问题,我修改build.sbt了文件以禁用测试的并行执行:

构建配置的问题在于,要生成代码覆盖率,我需要运行sbt scct:test而不是sbt test.

我试图禁用并行执行,scct:test但下面的代码无法编译:

scct:test任何人都可以通过设置标志或scct:test在测试上下文中运行来禁用并行执行来帮助我吗?

0 投票
0 回答
60 浏览

scala - SCCT: Find where most uncovered lines are

We use SCCT to get code coverage for our Play Framework project. It works great, but doesn't make it particularly easy to find where most of the missing lines are. It shows the percentage of each file covered, but doesn't give any idea of how big those files are. I'm more worried about the 70%-covered 1000-line file than the 50%-covered 30-line file.

Ideally, I'd like a list of all files, sorted by the number of uncovered lines. Any idea how to get that information from SCCT's output?

Edit: Some commenters think I'm worried about tracking the absolute number of uncovered lines. Rather, I just want to be able to find hotspots of uncovered functionality by using SCCT's line coverage as a heuristic. Any help would be appreciated.