【问题标题】:How to do Unit testing in Object Box for flutter project?如何在 Flutter 项目的 Object Box 中进行单元测试?
【发布时间】:2021-10-13 03:01:08
【问题描述】:

我们如何在 Flutter 项目中对所有 crud 操作的对象框进行单元测试?

class ShapeRepo {

final _box = store.box<ShapeModel>();

void saveShape(ShapeModel model) {
    _box.put(model);
}

这是一个例子。有很多盒子操作。我想知道是否有单独的对象盒存储可用于测试?

【问题讨论】:

  • 可以用真实的ObjectBox数据库和一个测试数据库(另一个文件名)吗?
  • 你的意思是我们清除存储中的所有数据,用测试数据填充它,然后在测试套件上分别运行盒子操作和查询操作?
  • 即使我这样做了,我是否必须运行模拟器或设备来提供存储初始化的路径,或者是否有提供本地路径的工具,以便创建 object_box_test.mdb 文件在测试文件夹或类似的东西中。
  • 应该看起来像这样:final store = openStore(directory: 'myTestDirectory')

标签: flutter unit-testing dart flutter-objectbox


【解决方案1】:

按照Flutter's unit-testing guide,您可以将其调整到您的项目中。假设您有一些类取决于 lib 文件夹中的 ObjectBox。在这种情况下,只需像往常一样为package:test 创建测试用例,并提供一个本地打开的数据库:只需从您的lib/objectbox.g.dart 导入openStore(或您拥有生成代码的任何地方。数据库将保存在当前目录(在objectbox 子目录中),除非另有说明。最好在测试组的tearDown 函数中删除此目录。

考虑到您在问题中发布的课程 - 它必须从某个地方获得store,对吧?因此,例如,您可以将在 test 文件夹中打开的商店作为构造函数参数。

【讨论】:

    猜你喜欢
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多