颤振测试失败。找不到编译器错误获取器“主”

时间:2019-05-02 12:12:18

标签: testing dart flutter mockito bloc

我正在尝试使用终端运行抖动测试,但收到以下错误。以下文件C:/Users/User-45/AppData/Local/Temp/flutter_test_listener.e6fa92b4-6cd1-11e9-b9cb-68f728ca4610/listener.dart 在指定的目录中不存在。

这是错误:

  

编译器消息:       文件:/// C:/Users/User-45/AppData/Local/Temp/flutter_test_listener.e6fa92b4-6cd1-11e9-b9cb-68f728ca4610/listener.dart:46:17:

     

错误:找不到字母:“ main”。返回test.main;

我的项目目录位于另一个文件夹中。我该如何解决?谢谢

6 个答案:

答案 0 :(得分:6)

在我的情况下,碰巧我的测试文件夹中的一个帮助器类的名称以“ _test”结尾,并且编译器正在寻找一种主要方法。因此,我将重命名为helper类,并解决了问题。

答案 1 :(得分:1)

当合并混乱将main()放在一个类中时,我遇到了这个错误。

答案 2 :(得分:1)

如果有人遇到上述问题,请尝试在测试班级中添加main(),如果已添加,则将其从测试班级大括号中删除。我遇到了这个问题,并将main()从测试班级中删除了。

例如...

class GetConcreteNumberTrivia_Test extends Mock
    implements NumberTriviaRepository {}

void main() {

.....my implementation......
}

答案 3 :(得分:1)

似乎此错误可能有很多不同的原因。在我的情况下,问题是文件foo_test.dart只有唯一的内容//TODO。因此它基本上是空的,并且编译器找不到期望的main方法。奇怪的是,它在另一个测试中引发了错误!

当我删除foo_test.dart时,它又可以工作了!希望这会有所帮助!

答案 4 :(得分:0)

我也遇到了这个错误。我的问题一直是我如何为测试命名文件。测试运行程序正在寻找此模式“ * _test.dart”(hier)。相应地重命名我的测试文件后,测试运行器将执行测试而没有任何错误。

答案 5 :(得分:0)

就我而言,我将我的 expect() 条件保留在测试方法之外

test('',(){
    // expect()/assertion should be here
})
//not here