android – 无法使我的断言当前活动起作用

android – 无法使我的断言当前活动起作用,第1张

概述我有2个活动,第一个是启动,其中创建方法导致第二个活动始终启动. 我的Robolectric测试通过了 活动 public class LoginActivity extends Activity {/** Called when the activity is first created. */@Override public void onCreate(Bundle saved 我有2个活动,第一个是启动,其中创建方法导致第二个活动始终启动.
我的Robolectric测试通过了

活动

public class LoginActivity extends Activity {/** Called when the activity is first created. */@OverrIDe    public voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.loginvIEw);    Intent intent = new Intent(this,MainActivity.class);    startActivity( intent );}

我知道我的活动很好,因为它在我的设备和模拟器上启动

我的Robolectric测试

public voID testLoginFirstTime() throws Exception {    LoginActivity activity = new LoginActivity();            activity.onCreate(null);    assertthat(activity,new StartedMatcher(MainActivity.class));        }

我的机器人测试

public voID setUp() throws Exception {    solo = new Solo(getInstrumentation(),getActivity());}public voID testLoginFirstTime() throws Exception {    solo.assertCurrentActivity("Expected MainActivity to launch",MainActivity.class);}

我的机器人断言有什么问题?它总是认为当前的活动是登录的,即使我看到模拟器/设备我可以看到Robotium确实启动了MainActivity,但似乎并不知道新活动已经启动.
编辑:我想说如果我在登录视图中添加一个按钮并通过按钮点击启动新的激活,则Robotium会执行点击并检测到新活动已启动.

编辑:
看起来像是Robotium的限制
http://groups.google.com/group/robotium-developers/browse_thread/thread/79a70038c16e35e6
然而,它仍然让我遇到如何使用robotium测试我的应用程序的问题,就像用户将使用它一样,即,不作弊和开始在不同的活动:(

解决方法 您需要使用构造函数solo = new Solo(Instrumentation instrumentation),然后在创建Solo对象后调用getActivity()以启动第一个Activity.然后它会工作. 总结

以上是内存溢出为你收集整理的android – 无法使我的断言当前活动起作用全部内容,希望文章能够帮你解决android – 无法使我的断言当前活动起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1121871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存