1

我正在尝试用 Robolectric 做一个非常简单的测试,我想测试一个视图是否存在。这与 Robolectric 网站中的示例非常相似,但findViewById一直返回 null。

可能是什么问题?

这是活动:

public class SignInActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sign_in);
    }
}

这是测试:

@RunWith(RobolectricTestRunner.class)
public class SignInActivityTests {

    private SignInActivity mActivity;

    @Before
    public void setUp() throws Exception {
        mActivity = new SignInActivity();
        mActivity.onCreate(null);
    }

    @Test
    public void shouldHaveTheCorrectLogo() throws Exception {
        assertNotNull(mActivity.findViewById(R.id.signInLogo));
    }
}

布局 XML 文件包含ImageView具有正确 id 和资源的,在模拟器中运行活动就可以了。

4

1 回答 1

-1

我发现了问题,由于某种原因,新的活动向导使用 android1 标签而不是 android 创建了 XML。可能不是 Robolectric 想要的

于 2012-10-30T08:46:50.190 回答