我有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 );
}
Run Code Online (Sandbox Code Playgroud)
我知道我的活动很好,因为它在我的设备和模拟器上启动
我的Robolectric测试
public void testLoginFirstTime() throws Exception
{
LoginActivity activity = new LoginActivity();
activity.onCreate(null);
assertThat(activity, new StartedMatcher(MainActivity.class));
}
Run Code Online (Sandbox Code Playgroud)
我的机器人测试
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testLoginFirstTime() throws Exception
{
solo.assertCurrentActivity("Expected MainActivity to launch", MainActivity.class);
}
Run Code Online (Sandbox Code Playgroud)
我的机器人断言有什么问题?它总是认为当前的活动是登录的,即使我看到模拟器/设备我可以看到Robotium确实启动了MainActivity,但似乎并不知道新活动已经启动.编辑:我想说如果我在登录视图中添加一个按钮并通过按钮点击启动新的激活,则Robotium会执行点击并检测到新活动已启动.
编辑:看起来像是一个Robotium限制 http://groups.google.com/group/robotium-developers/browse_thread/thread/79a70038c16e35e6 然而,它仍然让我遇到如何用robotium测试我的应用程序的问题,就像一个用户将使用它,即不作弊和开始在不同的活动:(
您需要使用构造函数solo = new Solo(Instrumentation instrumentation),然后在创建Solo对象后调用getActivity()以启动第一个Activity.然后它会工作.
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |