Java 如何在Robolectric中测试不支持的视图?

Java 如何在Robolectric中测试不支持的视图?,java,android,unit-testing,robolectric,google-signin,Java,Android,Unit Testing,Robolectric,Google Signin,因此,我尝试使用Robolectric来验证单击按钮将启动服务是否正确启动。但是,由于我使用的是com.google.android.gms.common包中的自定义视图,因此似乎所有onclick侦听器都没有正确绑定到登录按钮。以下是我的代码: TestLoginActivity.java: @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, sdk = Build.VERSIO

因此,我尝试使用Robolectric来验证单击按钮将启动服务是否正确启动。但是,由于我使用的是
com.google.android.gms.common
包中的自定义视图,因此似乎所有onclick侦听器都没有正确绑定到登录按钮。以下是我的代码:

TestLoginActivity.java:

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
public class TestLoginActivity {

    private LoginActivity mActivity;

    @Before
    public void setup() {
    mActivity = Robolectric.buildActivity(LoginActivity.class)
                .create()
                .visible()
                .get();
    }

    @Test
    public void testRegistrationServiceStarted() {
        SignInButton signIn = (SignInButton) mActivity.findViewById(R.id.signup);
        assertTrue(signIn != null);
        assertTrue(signIn.hasOnClickListeners());
        signIn.performClick();

        Intent expectedGcm = new Intent(mActivity, RegistrationIntentService.class);
        Intent actual = Shadows.shadowOf(mActivity).getNextStartedService();
        assertEquals(expectedGcm, actual);
    }

}

LoginActivity.java    

public class LoginActivity extends Activity implements LoginView {

    private static final String TAG = LoginActivity.class.getSimpleName();

    @Bind(R.id.signup)
    SignInButton mSignUp;

    @Inject
    LoginPresenter mLoginPresenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login_container);
        getApplication().getComponent().inject(this);
        ButterKnife.bind(this);
        mLoginPresenter.setLoginView(this);
   }

    @OnClick(R.id.signup)
    protected void onSignIn() {
        mLoginPresenter.registerWithGcm(this);
    }

}
登录.hasOnClickListeners()上的
assertTrue
失败。但是,如果使用常规的
按钮
,则测试通过。我还尝试了include
testCompile'org.roblectric:shadowsplayservices:3.0'
,但也没有成功


我应该如何继续测试这个组件?此外,我应该在
机器人分子
项目上创建一个新问题吗?

问题解决了吗?没有,还没有解决