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

为什么scalatest不能编译?

宋伟泽
2023-03-14

我有一个简单的测试设置,如

package unit

import net.kolotyluk.leaderboard.scorekeeping._
import net.kolotyluk.leaderboard.telemetry.Metrics
import net.kolotyluk.scala.extras.Logging
import org.scalatest.{FlatSpec, GivenWhenThen, Matchers, SequentialNestedSuiteExecution}

import scala.collection.mutable.ArrayBuffer
import scala.concurrent.{Await,Future}
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.{Failure, Random, Success}

class LeaderboardSpec
  extends FlatSpec
    with SequentialNestedSuiteExecution
    with GivenWhenThen
    with Matchers
    with Logging {

  behavior of "Leaderboard"

  it must "handle initial conditions correctly" in {

但当我尝试编译测试时,我会遇到53个错误,比如

[IJ]sbt:leaderboard> test
[info] Compiling 1 Scala source to C:\Users\ERIC\Documents\git\repos\leaderboard\target\scala-2.12\test-classes ...
[error] C:\Users\ERIC\Documents\git\repos\leaderboard\src\test\scala\unit\LeaderboardSpec.scala:21:12: could not find implicit value for parameter pos: org.scalactic.source.Position
[error]   behavior of "Leaderboard"
[error]            ^

实际上并没有传达任何关于问题所在的有用信息。我只能假设在我的构建中没有正确配置某些内容。sbt文件或其他地方。

这段代码确实曾经工作过,在我清理东西的过程中,事情发生了变化,现在它被破坏了,没有好的诊断。

有人能提出要找的东西吗?

共有1个答案

司马飞鸿
2023-03-14

因此,一个似乎可以正确编译和运行的解决方法是停止使用SBT并改用Maven。

我认为这是迄今为止我在SBT中发现的第三个主要缺陷。

 类似资料:
  • 奇怪的是,标记为“OK”的行编译得很好,但标记为“Error”的行失败了。它们看起来基本上是一样的。

  • 请假设正常的“新手”的说法。 我使用的是Scala2.12.10;在build.sbt中,我添加了Scalatest: 我将一些scala.js添加到一个现有的java项目中,这样我的scala源代码路径是正常的,但是我为java和资源创建了一些空目录,并使用了一个不同的目标,这样就不会与现有的代码发生冲突: 我将ScalaTest示例文件exampleSpec.scala放在src/test/s

  • 使用ScalaTest 3.0.0环境:Scala 2.11.8、sbt 0.13.5、IntelliJ 14.1.4 建筑sbt只有 以下测试通过。然而,IntelliJ在MyMiniTest下方标记了一条弯曲的红线,并显示警告信息: 类“MyMiniTest”必须声明为抽象的,或实现抽象成员“convertToLegacyEqualizer[T](左:T):TripleEqualSupport

  • 按照https://openjfx.io/openjfx-docs/#install-javafx的说明,我通过以下方式编译了示例HelloFX. java: 但是现在如果我试着运行它。。。 ... 我得到一个错误: 然而,报告为未找到的文件在那里: (我已经将权限更改为添加,以防出现问题,但显然这不是问题所在。 怎么了? (是的,指向)

  • 问题内容: 我正在尝试使用泛型实现以下结构。收到编译器错误,无法找出原因。 这个想法是译者使用T作为字典中键的类型。例如,可以是字符串或枚举。子类提供具体的字典。 但是它失败,因为:“类型’String’不符合协议’Hashable’” 但是String符合Hashable。它也不适用于Int,后者也符合Hashable。 如果删除类型约束,则仅用于测试(在此我还必须禁用字典,因为我不能在其中使用

  • 问题内容: 如果html文件是本地文件(在我的C驱动器上),则可以使用,但是如果html文件在服务器上并且图像文件是本地文件,则无法使用。这是为什么? 任何可能的解决方法? 问题答案: 如果客户端可以请求本地文件系统文件,然后使用JavaScript找出其中的内容,则将是一个安全漏洞。 解决此问题的唯一方法是在浏览器中构建扩展。Firefox扩展和IE扩展可以访问本地资源。Chrome的限制更为严