实例注入Android单元测试

时间:2014-03-26 07:04:14

标签: android junit robolectric

我在撰写单元测试用例时非常新。目前我正在使用robolectric和roboguish编写相机应用程序的单元测试用例。在代码段中,我正在打开像这样的相机

private Camera safeCameraOpen(final int id) {
        boolean qOpened = false;
        try {
            // stopPreviewAndFreeCamera();
            this.mCamera = Camera.open(id);
            qOpened = (this.mCamera != null);
        } catch (Exception e) {
            logErrorMessage("Error in open camera > Log captured", "Fail to open camera >> camera Id " + id
                    + ">> Message" + e.getMessage());
        }
        return this.mCamera;
    }

在编写单元测试用例时,我希望像以下方式一样使用这个打开的实例

this.mShadowCamera = Robolectric.shadowOf(mCamera);

这里的mCamera实例应该与我在代码中打开的相同。

问题是我不知道如何使用相同的实例编写代码。

我正在尝试阅读roboguish但无法正确理解它。请帮助我。

1 个答案:

答案 0 :(得分:0)

您可以使用ShadowCamera的getLastOpenedCameraId()声明它等于您传入的ID