- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚开始在我的 Android 应用程序中使用 ObjectBox,对此我有一个简单的问题。该项目基于 Clean Architecture,其中我有一个存储库类,它通过 DI (Dagger2) 在其构造函数中接收一个 BoxStore。在该构造函数中,像往常一样,我使用 boxStore.boxFor() 创建了一个 Box 实例。
它工作得很好,但现在我需要测试这个存储库类并且...我面临一些我不知道如何解决的问题。
我的第一个尝试是使用 Mockito 模拟 BoxStore,并将这个模拟传递给存储库的构造函数。它抛出一个 NullPoinerException。然后,我尝试使用以下代码创建一个本地 BoxStore:
@Before
public void before() {
File tempFile = null;
try {
tempFile = File.createTempFile("object-store-test", "");
} catch (IOException e) {
e.printStackTrace();
}
tempFile.delete();
boxStoreDir = tempFile;
store = MyObjectBox.builder().directory(boxStoreDir).build();
repository = new EstadoOrgaoLocalRepository(store);
}
但是,现在出现错误 java.lang.UnsatisfiedLinkError: no objectbox in java.library.path。我认为在每台开发人员机器上本地安装 ObjectBox 并不是一个好的选择。
所以,我的简单问题是:如何对通过构造函数注入(inject)接收 BoxStore 实例的存储库类进行单元测试?
最佳答案
您可以使用 ObjectBox 进行本地运行的单元测试(Windows、Linux、macOS)。
检查 example repository .
关于android - 使用 ObjectBox 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46933479/
在对使用 ObjectBox 数据库的类进行单元测试时出现此错误: io.objectbox.exception.DbDetachedException: Cannot resolve relatio
我不明白为什么 for 循环会破坏我的应用程序。我知道这是一个简单的问题,但我已经盯着这段代码看了好几个小时试图弄明白。我相当确定 build.gradle 中的所有依赖项都是正确的。如果您需要更多信
是否有类似的东西:@Insert(onConflict = OnConflictStrategy.REPLACE),如在 Room 数据库中找到的,您可以在 Objectbox 中执行。如果没有,如何
我已经浏览了示例应用程序的文档和代码,并发现 files/objectbox/objectbox/data.mdb 是存储所有数据的默认文件。 假设我的理解是正确的,我有几个问题找不到文档: 我想在我
我正在 flutter 中构建聊天应用程序。 我发现了带有 dart 的 objectbox。看起来不错。之前我尝试过 hive 。 我的问题是。 Objectbox是内存数据库还是磁盘数据库? 当我
我正在 flutter 中构建聊天应用程序。 我发现了带有 dart 的 objectbox。看起来不错。之前我尝试过 hive 。 我的问题是。 Objectbox是内存数据库还是磁盘数据库? 当我
我有以下Entity类 @io.objectbox.annotation.Entity public class MultiplayerGameEntity extends BaseEntity {
我做了一个包含所有依赖项和初始化的项目,但是数据库浏览器没有启动。我不明白我在哪里犯了错误。 Sample project 项目build.gradle allprojects { b
我不确定我是否从文档中理解了我应该如何使用惰性列表。 findLazy()和findLazyCached()有什么区别,功能描述完全一样。 我应该先进行 find() 查询,然后再使用 findLaz
期望两个实体 Movie 和 Genre: @Entity public class Movie { @Id private long id; private String name; private
我看了droidcon NYC 2017 speach of ObjectBox Markus Junginger 在其中一部分谈论交易(大约 25 分钟)。 本分钟的幻灯片指出: No, we do
我想用 Flutter 建立一个 ObjectBox 数据库。 我想用值预先填充数据库文件。安装应用程序时,数据库文件将被复制并由应用程序使用。我希望能够继续提供架构迁移。是否可以 ? 如何建立这种类
所以我将 ObjectBox 与一个名为 LibGDX 的库一起使用,这是一个用 java 编写的跨平台游戏库。它的工作原理是在单个 Android Activity 类中加载类似于 Java 小程序
我已经逐一搜索了文档并尝试了很多方法,但到目前为止没有任何效果。 问题是,在我成功构建了一个具有工作查询系统(SearchContentActivity.java)的类及其支持类(UserConten
我从服务器得到如下所示的 json: { "customers": [ { "customer_name": "name1", "orders_list":
我正在从具有两个端点的后端获取订单,一个用于获取有限数量的订单,一个用于仅获取可用订单总数。我可以使用 CustomerOrder 实体类存储订单,但如何存储原始计数值? 由于 ObjectBox 不
我正在阅读 doc关于观察查询。 Query query = taskBox.query().equal(Task_.completed, false).build(); subscription =
我刚开始在我的 Android 应用程序中使用 ObjectBox,对此我有一个简单的问题。该项目基于 Clean Architecture,其中我有一个存储库类,它通过 DI (Dagger2) 在
有an issue在github上,但现在objectbox不支持级联删除。除了手动删除之外,还有其他选择吗? 例如模型: @Entity class User(val username: Strin
安卓新手。我在 Objectbox 数据库中存储了 100,000 个项目。 在显示 RecyclerView 之前,我必须每次都更新数据集(因为添加、删除项目)。所以我调用 myRecyclerVi
我是一名优秀的程序员,十分优秀!