Robolectric:findViewById返回null

时间:2012-10-29 17:34:45

标签: android robolectric android-testing

我正在尝试用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和资源, 在模拟器中运行活动就可以了。

1 个答案:

答案 0 :(得分:0)

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