在Eclipse中与JUnit和Scalate一起设置Scala项目



我最近在Coursera上完成了Scala课程,从那以后,我一直期待着再次接触Scala。我写代码已经好几年了,但我既没有受过程序员的教育,也没有从事程序员的工作,所以我花了一段时间才得到一个好机会,但现在我有了一些时间来投资和一个好项目来做,是时候了。。。

但我似乎无法把事情安排好,这让我很沮丧。我的Linux机器上运行着OpenJDK 1.7.0_25。我已经下载并安装了Eclipse的Bundle Scala IDE构建(就像我们在课程中使用的一样)。我得到了ScalaTest作为一个jar文件和Eclipse插件。

我有一个简单的项目(到目前为止),无论我做什么,我似乎都无法将构建和测试安排好首先我应该如何设置我的项目,以便我的类和测试能够正常运行?我们得到的所有任务都是具有相同结构的项目,所以我必须拥有:

project
  |--src
      |--main
          |--scala
      |--test
          |--scala

结构?如果是这样,为什么在我创建新项目时,它不是默认的项目设置方式?我是手动创建这些文件夹,作为包还是作为源文件夹?整件事变得很模糊。。

我应该提到,我尝试使用Eclipse中的上下文菜单"Mavenize"项目,添加了我的ScalaTest依赖项。发生的第一件事是,在代码的每一个依赖点上,我都会遇到编译错误。很明显,这个库是不可见的,换句话说,Maven似乎没有做太多管理工作。我认为Maven的全部目的是随着项目的发展获得并维护依赖关系。我得出的结论是,我不完全理解Maven的工作方式,因此我最终再次放弃了Maven,转而手动操作。

其次,我似乎无法运行我的测试;CCD_ 1菜单项不包括ScalaTest,正如ScalaTest Eclipse插件文档中提到的那样。我已经仔细检查了插件是否已安装。如果我尝试使用JUnitRunner运行,那么我的测试将不会被识别为有效的测试。我的构建路径上有JUnit和ScalaTest,所以它必须是其他东西。

我想我的首要问题如下:

考虑到Eclipse和ScalaTest的ScalaIDE构建,我应该如何(在Eclipse中)设置我的项目,这样我就可以专注于编写代码和测试它,希望不会有任何其他头疼的问题

我一个人工作,这个项目不是我需要交付给某个客户的产品。换句话说,我不需要在这里坚持严格的专业精神。老实说,我只想能够编写代码,更好地熟悉Scala,并希望构建一个我将不时使用的小型数据分析工具。

提前感谢!

尝试使用sbt-eclipse插件:https://github.com/typesafehub/sbteclipse

当然,这是假设您在构建工具时使用sbt。如果您目前没有,您可以在此处找到有关安装和使用的说明:http://www.scala-sbt.org/

就我个人而言,我一直在使用typesafe giter8模板(https://github.com/typesafehub/scala-sbt.g8)来设置我的Scala项目,然后我使用上面提到的sbt插件来生成eclipse项目文件。

Scala在某种程度上是基于Maven的(有时是隐式的),这就是您使用该结构的原因。

我认为最简单的方法是创建一个简单的Sbt/Maven POM并创建Eclipse项目配置(就像使用sbt eclipse一样)。在那里,您可以设置依赖项(比如要使用的JUnit的实际版本Scalatest),这样您就可以轻松地使用Scalatest插件。

如果有其他问题,请随时在ScalaTest邮件列表中询问,Chee Seng和Bill Venners可以在那里为您提供很多帮助。

Scala IDE网站上有关于如何使用IDE运行单元测试框架的完整文档,请查看!如果您发现缺少的元素,scalaIDE项目的错误跟踪器就在这里。

最新更新