Robolectric.setupActivity()和Robolectric.buildActivity()有什么区别?

Lal*_*era 15 android robolectric

我是Robolectric的新手,请帮助我理解,这些之间有什么区别

loginActivity = new LoginActivity();
loginActivity = Robolectric.setupActivity(LoginActivity.class);
loginActivity = Robolectric.buildActivity(LoginActivity.class).create().start().resume().get();

nen*_*ick 6

您应该看一下setup方法的实现.在跟随调用层次结构后,您将找到以下行

Robolectric类方法设置()

return ActivityController.of(shadowsAdapter, activityClass).setup().get(); 
Run Code Online (Sandbox Code Playgroud)

ActivityController类方法setup()

return create().start().postCreate(null).resume().visible();
Run Code Online (Sandbox Code Playgroud)

不,您可以将自定义调用链与setup方法中的链进行比较.下面是代码:https://github.com/robolectric/robolectric/blob/770f4bc5a95a58ea1cd1238e4b1d51977b1bb17a/robolectric/src/main/java/org/robolectric/util/ActivityController.java#L210