【发布时间】:2016-04-23 10:54:21
【问题描述】:
我正在构建一个使用 Firebase 作为后端和模型、视图、演示者架构的 Android 应用程序。但是,Firebase 是一项云服务这一事实使我的 android 应用程序中的自动化测试变得复杂。到目前为止,我已经构建了大部分身份验证系统,但无法看到如何在我的应用程序中为 Firebase 代码实施单元测试。在端到端测试方面,我也陷入了困境。
由于测试是任何 android 应用程序的基础,没有它,应用程序开发人员无法确定他们所实现的功能是否按预期运行,如果没有自动化测试,我将无法取得进一步进展。
总之,我的问题是:
一般来说,您如何在 Android 应用中实现 Firebase 自动化测试?
编辑:
例如,有人可以对以下方法进行单元测试吗?
public void addUser(final String name, final String birthday,
final String email, final String password) {
Firebase mUsersNode = Constants.mRef.child("users");
final Firebase mSingleUser = mUsersNode.child(name);
mSingleUser.runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
mSingleUser.child("birthday").setValue(birthday);
mSingleUser.child("email").setValue(email);
mSingleUser.child("password").setValue(password);
return Transaction.success(mutableData);
}
@Override
public void onComplete(FirebaseError firebaseError, boolean b, DataSnapshot dataSnapshot) {
if(firebaseError != null) {
mSignUpPresenter.addUserFail(firebaseError);
} else {
mSignUpPresenter.addUserComplete();
}
}
});
}
【问题讨论】:
-
我真的不明白为什么需要与 Firebase 集成来运行单元测试。我认为您可以轻松地模拟身份验证和获取的数据集。
-
你能给我举个例子吗?我将在问题中添加一个方法,供您为其编写单元测试。
-
这是一个很好的问题:具体来说,我正在从纯谷歌应用引擎解决方案中移动应用。谷歌后端(及其数据存储)有一个专门用于单元测试的“本地”版本。 firebase 的等价物是什么?
标签: android unit-testing firebase automated-tests integration-testing