vb1*_*b10 3 flutter flutter-plugin
我正在使用颤振“path_provider”插件。我需要一个 SQLite 操作。我的错误测试类没有找到“getApplicationDocumentsDirectory”并返回 null。该应用程序为模拟器/真实设备运行,任何工作都没有问题。
正在寻找提供程序存储库和测试文件夹。我已经厌倦了测试类示例,但错误仍然存在。
const MethodChannel channel =
MethodChannel('plugins.flutter.io/path_provider');
channel.setMockMethodCallHandler((MethodCall methodCall) async {
log.add(methodCall);
return response;
});
test('user save data', () async {
var response = null;
//FIXME : directory return null
final Directory directory = await getApplicationDocumentsDirectory();
final model = UserWordInformation();
model.word = word;
model.know = 1;
final result = await dbHelper.insert(model.toMap());
expect(result, 1);
});
Run Code Online (Sandbox Code Playgroud)
我希望设备的返回路径文件夹。一些路径:“/Users/vb/Library/Developer/CoreSimulator/Devices/C5B3C94C-C774-4D0E-A19C-97AAF11BD9E3/data/Containers/Data/Application/0508712B-A138-483A 921E-B5EAE6DF149F/文件”
小智 11
也许您忘记了初始化response变量。
我getApplicationDocumentsDirectory在我的一个单元测试中遇到了类似的问题。
MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory 的实现)
将以下代码添加到单元测试文件中:
const MethodChannel channel = MethodChannel('plugins.flutter.io/path_provider');
channel.setMockMethodCallHandler((MethodCall methodCall) async {
return ".";
});
Run Code Online (Sandbox Code Playgroud)
现在它终于起作用了。希望这可以帮助。
Emi*_*ssa -1
这个问题通常是由于缺少依赖项而发生的,您的 pubspec.yaml 有以下依赖项吗?
依赖项:
path_provider: ^1.2.0
simple_permissions: ^0.1.9
Run Code Online (Sandbox Code Playgroud)
如果 simple_permissions: ^0.1.9 在构建时抛出错误,请尝试使用以下依赖项:
path_provider: ^1.2.0
permission_handler: ^3.2.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1405 次 |
| 最近记录: |