1

这是我的测试用例,而我右键单击文件 eclipse 没有显示任何作为 junit 测试选项运行。我尝试手动创建运行配置,但没有任何意义。scala 版本:2.8.1 scalatest:1.3 eclipse:3.6.2

package org.jilen.cache.segment

import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FlatSpec
import org.scalatest.matchers.ShouldMatchers

@RunWith(classOf[JUnitRunner])
class RandomSegmentSpec extends FlatSpec with ShouldMatchers {
  val option = SegmentOptions()

  "A Simple Segment" should "contains (douglas,lea) after put into" in {
    val segment = RandomSegment.newSegment(option)
    segment.put("douglas", "lea")
    segment("douglas") should be("lea")
  }
  it should "return null after (douglas,lea) is remove" in {
    val segment = RandomSegment.newSegment(option)
    segment.put("douglas", "lea")
    segment -= ("douglas")
    segment("douglas") should equal(null)
  }

  it should "contains nothing after clear" in {
    val segment = RandomSegment.newSegment(option)
    segment.put("jilen", "zhang")
    segment.put(10, "ten")
    segment += ("douglas" -> "lea")
    segment += ("20" -> 20)
    segment.clear()
    segment.isEmpty should be(true)
  }
}
4

3 回答 3

4

我似乎偶然遇到了这种情况,我想我终于弄清楚了原因。

不幸的是,当您移动文件时,该插件还没有更改包声明,也没有在您重命名文件时更改类名。(鉴于您可以将多个类放在一个文件中,后者可能永远不会完成。)如果您习惯于像我一样在 Eclipse 中自动完成重命名,那么您一定会被这个问题抓住。

所以...仔细检查以下内容:

  1. Scala 文件中的包声明与 Eclipse 包名匹配
  2. Scala 文件中测试类名称与 Scala 文件的名称匹配

我刚刚遇到这个,修复了两个,现在我的测试运行了!

于 2011-05-03T23:10:29.593 回答
1

这是 Eclipse IDE for Scala 的一个已知问题。我目前正在为此开发插件。关注此空间。

于 2011-04-18T19:53:04.297 回答
0

我发现 Scalatest 在与 Eclipse 集成方面非常糟糕(从 eclipse 运行测试表明它运行了它们——但它们不会通过或失败,而只是显示为被动的空白框)。出于某种原因,经过 3 个小时的尝试,我无法让它工作!

最后我尝试了 specs2 - 它工作了(Scala 2.9、Junit4 和 Eclipse 3.6)!

他们在这里有一个很棒的文档:http: //etorreborre.github.com/specs2/guide/org.specs2.guide.Runners.html#Runners+guide

由于我不在乎使用哪个测试框架,我将纯粹从方便的角度来尝试Specs2 。

于 2011-07-04T18:27:30.213 回答