2013-01-12 26 views
6

问题:我无法设置运行配置为我的项目中的Scalatests运行scalatest。ScalaTest在Eclipse中运行配置:找不到套件类

重现步骤:

  • 右键单击斯卡拉套房,然后点击运行方式 - >运行配置..
  • 在左边,我看到一个ScalaTest配置模板。我点击新建并填写名称,但它找不到套件类。

注:提到here,我应该看到运行方式 - > ScalaTest - 套房,但是我没有看到该选项。我试着用右键菜单在编辑器中,并在Package Explorer采取

步骤:

  • 使用:Scala的IDE的Eclipse版本:2.1.0.m3-2_09
  • 使用SBT,组装项目,运行eclipse命令,然后将项目和依赖项导入到Eclipse中
  • 项目编译。 ScalaTest代码编译(scalatest_2.9.2-1.8.jar是在“引用的库”配置)
+1

只是快速的想法......你也许会有一个'object'定义,但亚军需要'class'? – 2013-01-12 23:40:51

+0

@asflierl:不,它是一个扩展FunSuite的类 – RAbraham

+0

行: - /多一个想法:是你的测试类在默认包?当我从测试类源文件的顶部删除包声明时,我可以重现您的情况。 – 2013-01-13 04:17:46

回答

7

我一直争取这几天类似的问题,仔细选择你的版本; Lily/Jimbo的回答与我的情况不太一致,但帮助我找到了正确的方向。

在我的情况下,我使用的是我复制的第三方库。类和测试的软件包名称匹配,但文件夹结构确实是而不是 - 我的所有测试都直接在播放“/ test”文件夹,而不是与软件包名称匹配的文件夹。这没有显示任何错误,但被破坏:包应该匹配文件夹。当我在测试下建立了正确的文件夹结构并重新编译时,出现了预期的“Run As - > ScalaTest - Suite”选项。

不知道,如果你的问题是一样的,但是你可能要检查这个,如果你还没有已经找到了问题...

+1

对我来说有点反其道而行之:我有了预期的文件夹/包结构,但缺少包声明的源文件。物品出现了。 – Harald

0

不知道,如果你固定的错误,但我昨天有类似的一个错误,并拉我的头发试图修复它(我通过Google搜索找到的所有建议似乎都无济于事)。所以对我来说,事实证明它和我的测试套件中的软件包层次一样简单。

我现在用的是戏剧框架,所以很自然我的文件夹看起来像这样controllers.package1.package2....这适用于我的测试文件夹也。

现在我的测试类然而,有包定义package1.package2.....(没有“控制器”作为前缀)。

如果我在SBT /播放命令提示符下运行测试,这不是一个问题。但是通过Eclipse运行它们会给我所描述的问题。

所以反正......我以为我会分享这个,以防这可能有帮助。

+0

我刚刚从类型安全下载了scala-eclipse :(谢谢 – RAbraham

1

这可能是由scalatest和Scala的Eclipse IDE版本之间的错位引起的。试试scalatest_2.9.0-2.0.M5b.jar或scalatest_2.10-2.0.M5b.jar。前者的jar可以和ide 2.0.9.x一起工作,所以也许新版本需要2.10 jar。从here

1

威廉的回答是为我工作的。从同一个更新站点获得这两个插件(来自Scalatest's github site的列表),似乎适用于使用开普勒的我。

1

对于我的情况,点击'重新导入所有Maven项目'图标,如'刷新'图标,解决了这个问题。

0

它在播放框架中与view template编译问题相结合有点烦人。但我的做法是重新生成Eclipse项目文件并添加view template路径进入类路径