我正在尝试使用终端运行抖动测试,但收到以下错误。以下文件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;
我的项目目录位于另一个文件夹中。我该如何解决?谢谢
答案 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