[原创] 关于在Scala for Eclipse下载结合Junit4.9进行单元测试的问题

coollzh 2011-09-26
我安装了最新版的Scala IDE for Eclipse,创建了一个Scala Project,
还用maven添加了junit4.9的包依赖。

随手建了一个scala object 运行的很好。

后面我想用Scala结合Junit进行单元测试,于是写了一个类:
import org.junit.Test

class FirstTest {

  @Test
  def testScalaJunit(): Unit = {

    println("The First Scala Unit Test");
  }
}

编译正常,没有错误,可是Run As Junit Test的时候报错了:
java.lang.NoClassDefFoundError: scala/ScalaObject
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

在网上搜了一下,大概说是ClassLoader的问题,没搞明白,大家在做单元测试的时候可有遇到这个问题?

coollzh 2011-09-26
解决了
用ScalaTest1.0解决了

具体参考,http://scalatest.org/getting_started_with_junit_4

coollzh 2011-09-26
Scala IDE真不好用啊,Auto build 有问题,经常报某某member不存在,要clean project才能好。
coollzh 2011-09-26

shift+alt+o的快捷键也不好用,经常搞错
coollzh 2011-09-26
Scala IDE的语法颜色太简陋了,比JDT差远了,需要提高了啊,肯定不如邓草原在netbeans上的版本
coollzh 2011-09-27
scala板块太冷清了
daaoke 2011-09-27
用IDEA+Maven,还是不错的,而且IDEA的速度比Eclipse快,打起编码来爽阿
coollzh 2011-09-27
NetBeans估计也不错的,Eclipse倒是也可以用maven,不过maven好像不认识src/main/scala这样的目录,一定要src/main/java。

IDEA做企业开发的版本要收费的吧
jilen 2011-09-28
Idea可以用社区版,企业版是争对JavaEE的
xzcgeorge 2011-09-28
coollzh 写道
NetBeans估计也不错的,Eclipse倒是也可以用maven,不过maven好像不认识src/main/scala这样的目录,一定要src/main/java。

IDEA做企业开发的版本要收费的吧

maven是可以配置的,把scala目录加进去就可以了。
Global site tag (gtag.js) - Google Analytics