当前位置: 首页 > 知识库问答 >
问题:

ScalaTest v3:为什么需要实现convertToLegacyEqualizer

阳勇
2023-03-14

使用ScalaTest 3.0.0环境:Scala 2.11.8、sbt 0.13.5、IntelliJ 14.1.4

建筑sbt只有

// NOTE: not using org.scalactic
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"

以下测试通过。然而,IntelliJ在MyMiniTest下方标记了一条弯曲的红线,并显示警告信息:

类“MyMiniTest”必须声明为抽象的,或实现抽象成员“convertToLegacyEqualizer[T](左:T):TripleEqualSupport。这LegacyEqualizer[T]“在”组织中。鳞片状。三重质量支持'

import org.scalatest.FeatureSpec

class MyMiniTest extends FeatureSpec {
  scenario("A simple test") {
    val a = 12
    assert(a * 3 == 36)
  }
}

出现此警告的原因是什么?建议采用什么解决方案来解决此问题?

共有3个答案

轩辕经赋
2023-03-14

请检查所有依赖项,并检查是否有任何依赖项正在下载。缩放测试* 。如果是组织的版本。缩放测试* 与下载的代码>不同,因此会出现此问题。我在使用org。mockito%mockito scala,其pom定义提供了scalatest 3.0.8。但我定义的缩放测试是2.2.5。通过将scalatest的版本更改为3.0.8,我能够解决这个问题。

希望这有帮助。

谷飞星
2023-03-14

在我的例子中,它是不同版本的传递依赖项(不知道测试库如何显示)与我的项目中定义的依赖项冲突。SBT知道如何处理大多数这些情况,IntelliJ似乎不知道。请注意,在这种情况下,使缓存无效并重新启动IntelliJ没有帮助。

然后选择不必要的,然后按面板顶部的键,将其删除。就这样,IntelliJ现在会很高兴的。

一个更干净的解决方案是从依赖项中排除不必要的库,例如:ExclusionRule(“org.scalatest”,“scalatest\u 2.11-2.2.4”)

IntelliJ将在项目的依赖项中显示库,但知道它应该被引入。

游鸣
2023-03-14

我在IntelliJ上也遇到了同样的问题,只需按照以下步骤使缓存/重启无效即可。这将解决问题。

 类似资料:
  • 我没有受过CS方面的教育,但我已经专业地用Java编程近十年了,我从未见过任何人在生产系统中实现。这并不意味着它没有它的用途,或者和我一起工作的人一直在做正确的事情。 所以我的问题是,有哪些实现的用例不能通过语言中的另一个进程或语法更可靠地处理? 请提供具体的场景或您的经验,简单地重复一本Java教科书,或者Finalize的预期用途是不够的,因为这不是本问题的意图。

  • 互联网是超文本标记语言(HTML)页面的集合,它们彼此链接以形成概念性信息网络。随着时间的推移,静态资源数量增加,图像等更丰富的项目开始成为Web结构的一部分。 高级服务器技术允许动态服务器页面 - 其内容基于查询生成的页面。 很快,需要拥有更多动态网页才能获得动态超文本标记语言(DHTML)。一切都归功于JavaScript。在接下来的几年中,我们看到了跨帧通信,试图避免页面重新加载,然后在帧内

  • 当前信息时代,哪里都是应用程序。这些应用程序们不仅仅是运行人们工作场所的工具 - 它们现在正在经营人们的生活。 对即时响应的需求,完美的行为和更多的功能是前所未有的。 而且,当然,人们期望应用程序在不同类型的设备上运行平稳,特别是在移动设备上。 应用程序执行的速度与它所做的一样重要。 NGINX的核心功能,例如其具有高性能HTTP和反向代理服务器的大规模可扩展事件驱动架构,访问和带宽控制以及与各种

  • 开发人员和运营工程师是两个不同的组织团队,如果发现这两个团队在错误的轨道上协作,则表明需要DevOps。以下是两个团队经常出现的一些问题: 在DevOps之前,开发和运营团队完全孤立。 测试和部署是在设计构建之后完成的独立活动。因此,他们比实际构建周期消耗更多时间。 在不使用DevOps的情况下,团队成员将大量时间花在测试,部署和设计上,而不是构建项目。 手动代码部署会导致生产中出现人为错误 编码

  • 问题内容: 我已经阅读了许多关于Java的新手问题,发现令人困惑的是,没有人真的说过是清理资源的不可靠方法。我看到有人评论说他们用它来清理,这确实很吓人,因为要保证关闭的唯一方法就是最终实现。 我没有在CS上学,但是近十年来我一直在用Java专业编程,而且从未见过有人在生产系统中实现过。这仍然并不意味着它没有用途,或者与我一起工作的人都在正确地做它。 所以我的问题是,存在哪些用例无法通过语言中的其

  • 在制作一个方法将一个新创建的表单放置在我屏幕上的一个完全随机的位置上而不超出所述屏幕的界限时,我有一个有趣的代码契约消息,声明...