gpt4 book ai didi

java - 测试中找不到Textview

转载 作者:行者123 更新时间:2023-12-01 09:19:13 24 4
gpt4 key购买 nike

我在测试中无法通过 id 找到 Textview。我做错了什么?

 private MyActivity myActivity;
@Before
public void setUp() throws Exception {
myActivity= Mockito.mock(MyActivity .class);
}

测试:

 @Test
public void testFindView() throws Exception {
System.out.println(myActivity); // This is not null
this.myActivity.setContentView(R.layout.container);
TextView viewText = (TextView) this.myActivity.findViewById(R.id.container_text);
System.out.println(viewText ); // This is null
}

最佳答案

调用Mockito.mock()不会创建一个真实的实例,而只是一个人造的实例。它的主要目的是使单元测试远离任何外部依赖项并跟踪与对象的交互。

因此,当您调用 this.myActivity.setContentView(R.layout.container); 时,实际上什么也没有发生,因为模拟的 myActivity 没有常规 MyActivity 的内部 - 您只是在调用您尚未命令执行任何操作的 stub 方法。因此,如果您想测试 MyActivity 的工作原理,则需要创建一个真实的 MyActivity 实例。如果您仍然想跟踪交互,您还可以使用 Spy 对象(您可以查看它们 here )

关于java - 测试中找不到Textview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40280463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com