我正在尝试将Firebase Analytics用于Android应用程序,并且为了记录事件,我遵循了https://firebase.google.com/docs/analytics/android/events.也就是说,为了发送事件,我必须创建一个新的Bundle对象(通过使用默认构造函数),然后调用Firebase Analytics的logEvent函数.在通过简单的单元测试来测试我的开发时,我意识到捆绑中没有设置任何内容,这让我想知道是否发送了任何信息.顺便说一句,这也破坏了我的测试用例.
这是显示我的问题的简化测试用例:
import android.os.Bundle;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
public class SimpleTest {
@Test
public void test() {
Bundle params = new Bundle();
params.putString("eventType", "click");
params.putLong("eventId",new Long(5542));
params.putLong("quantity", new Long(5));
params.putString("currency", "USD");
assertEquals("Did not find eventType=click in bundle", "click", params.getString("eventType"));
}
}
该测试用例失败,并显示以下消息:
junit.framework.ComparisonFailure: Did not find eventType=click in bundle
Expected :click
Actual :null
有人知道问题出在哪里吗?也就是说,如何从零创建一个Bundle对象并正确填充它,以便可以在这样的单元测试中使用它?
当我在讲话时发现Android环境的细节时,请与我保持一致.