在Eclipse的测试用例中测量Scala代码的覆盖率



我处于这样一种情况,我有许多ScalaTest编写的测试(JUnit兼容),我想在运行测试时测量我得到的代码发现有多好。

我不想直接使用SBT,但是我有一个Eclipse Scala项目,我有很多想要运行的测试用例。

我该怎么走才好?

我在Eclipse中使用EclEmma进行代码覆盖。使用更新站点安装它。

请注意,它不会显示在Scala透视图中,只显示在Java透视图中,但这没关系,因为您仍然可以以这种方式运行基于Scala的单元测试。

当你安装它时,它会在你的工具栏上添加一个新的"运行"按钮。当您使用它时,它运行您选择的单元测试,生成覆盖率报告,并突出显示您的代码,以显示哪些已被覆盖,哪些未被覆盖。

我刚刚用Scala项目的Scala单元测试测试了它,它似乎工作得很好。

检查SCCT https://github.com/mtkopone/sccthttp://mtkopone.github.com/scct/

遗憾的是,还没有Eclipse插件

我在scala中为"plain scalatest classes"工作

所需要的只是给你的scalatest类添加一个注释,使它作为Junit运行(见下面的注释)。它使用scalatest自己的junitrunner。

@RunWith(名为[JUnitRunner] classOf)类MyTest扩展FeatureSpec与匹配器与GivenWhenThen与StrictLogging {

完成后,您将看到现在可以在eclipse中作为"scala junit测试"运行这个类了。您也将能够"覆盖为->单元测试"。

如果你安装了eclemma插件,那么你会看到覆盖面板(你可能需要手动将其添加到你的scala透视图中),你的测试提供了覆盖,你也会在你的类中看到红/绿/黄线逐行覆盖。

生活好!