【问题标题】:Is there a problem-free way to run Scala 2.7.7 unit tests in Eclipse integrated nicely?是否有一种在 Eclipse 中运行 Scala 2.7.7 单元测试的无问题方法可以很好地集成?
【发布时间】:2010-12-17 12:51:30
【问题描述】:

我正在使用 Eclipse 开发 Scala 代码,我经常在运行测试时收到此错误:

未找到使用测试运行程序“JUnit 3”的测试。

环境:

  • 面向 Java 开发人员的 Eclipse,3.5.1
  • Scala 2.7.7
  • JUnit 4.7

我目前正在将我的测试编写为 JUnit3 测试,并通过在项目资源管理器中右键单击一个包并选择 Run As -> JUnit Test 来调用它们。 (我将它们编写为 JUnit4 测试,但遇到了更多问题。)

如果我启动 Eclipse,除非我首先打开测试的源代码文件,否则测试可能不会运行。如果我确实打开了测试的源代码文件,它将运行。但是,通常当我对测试文件或任何其他源代码文件进行任何修改时,Eclipse 会拒绝运行我的测试,并说:“没有使用测试运行程序 'JUnit 3' 找到测试。”

我刚才重复了一遍:

  1. 打开日食
  2. 使用一些测试打开 .scala 文件
  3. 通过在项目资源管理器中右键单击该文件的包并选择 Run As -> JUnit Test 来调用测试
  4. 它运行了测试
  5. 一个失败
  6. 我在失败的测试中更改了一个字符串文字以修复它
  7. 然后我使用相同的方法重新启动了测试,我得到了可怕的“没有使用测试运行程序 'JUnit 3' 找到测试。”
  8. 我使用其他启动测试的方法获得了相同的方法,例如用于重新运行所有或部分测试的 JUnit 按钮或菜单

为了让测试再次运行,我关闭并重新打开 Eclipse...所以我最终每天多次重新启动 Eclipse。

注意:我确实经常在测试中使用 XML 文字,我想知道这是否与它有关。

第二个注意事项:请参阅我对此线程的回答:What is the current state of the Scala Eclipse plugin?,其中我描述了我在使用 Scala+Eclipse 时遇到的其他一些问题。大多数问题只是小问题,但是这个测试调用问题是一个真正的浪费,很想找到解决它的方法!

【问题讨论】:

    标签: eclipse unit-testing scala junit


    【解决方案1】:

    这仅适用于主干...检测到 JUnit 3 和 4 单元测试并且 Run As => JUnit 测试做正确的事情。

    哦,顺便说一句,让我注意这类事情的最好方法是在 Trac 中提交错误或增强票证,而不是向 StackOverflow 发布消息(尽管这次它起作用了 ;-)

    【讨论】:

    • 谢谢 Miles,是的,我评论了 Trac 问题:lampsvn.epfl.ch/trac/scala/ticket/1590。让它在后备箱中工作很棒,但对我没有帮助:) 当然期待 2.8。
    • 您可以在 2.7.7 上建议任何解决方法吗?也许根据您对修复的了解,您可能会有一些见解 - 奇怪的是它有时会起作用......
    • 在主干拦截此行为之前,JDT 用于搜索注释的机制试图解析搜索到的源代码,就好像它是 Java 一样......在某些情况下,对于某些 Scala 源代码来说是成功的,但这里的成功基本上是偶然的。在你问之前,不,绝对没有机会向后移植到 2.7.x 分支。
    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    相关资源
    最近更新 更多