我正在尝试使用scalatest 3.0.5实施测试。按照建议on the official website,我创建了定义设置的抽象类和第一个具体的测试类。
abstract class TestSpec extends FunSuite
class MyFirstTest extends TestSpec {
test("This is a test") {assert(1 == 1)}
}
但是随后Intellij显示以下错误:
MyFirstTest必须声明为抽象,或在'org.scalatest.Suite'中实现抽象成员'getTestNameForReport(s:String):String'
阅读源代码后, FunSuite是一个具体的类。
我尝试将scalatest版本更改为2.2.6,但是发生相同的问题。我尝试实现抽象成员,但是IntelliJ要求重写某些方法,例如execute
,所以这似乎不是一个好主意。
为了记录,我正在使用Maven构建我的项目,并且它可以完美构建。问题是由于显示警告,我无法从IDE运行测试。
答案 0 :(得分:1)
如果一切运行良好,并且您可以在IntelliJ外部运行测试,则可能只是IDE问题。
尝试遵循those steps来使缓存/重启无效,并告诉我是否可以解决您的问题。
答案 1 :(得分:1)
我最终通过删除项目并使用maven从this archetype创建了一个新项目来解决了问题。我认为我的问题是因为我以某种方式弄乱了pom。
如果遇到类似的问题,这里有一些可能的修复方法(感谢@Argurth):
答案 2 :(得分:0)
我不得不从库中删除旧版本的 scalatest。 ProjectStructure->libraries->[locate scalatest 0.9 ...] - 删除