android - 如何调整 Robolectric 测试的屏幕密度?

标签 android unit-testing junit4 robolectric

我目前正在我的应用程序中测试一个 fragment 方法,该方法对其运行设备的 DisplayMetrics 设置敏感。如何调整 RobolectricTestRunner 的 Robolectric 测试中的 DisplayMetrics(如果可能,请提供示例)?

这是我的简单测试的要点,我希望能够控制屏幕的 DisplayMetrics。

    @Test
public void whenMyFramentMethod_willWorkForDensity() {

    ...

    startFragment(fragment);

    //Results of this method will vary with different screen sizes.
    Assert.assertEquals(200, fragment.fetchAWidth());
}

最佳答案

您现在应该使用 @Config 注释来设置环境:

@Config(qualifiers = "xhdpi")

关于android - 如何调整 Robolectric 测试的屏幕密度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41832829/

相关文章:

java - 如何使用WireMock模拟一个类?

android - 在 Android 中解析 5MB JSON 响应时出现内存不足异常

android - 需要下载/安装 wifi 之前的最大移动应用程序大小

java - 单元测试时如何跳过@PostConstruct

python - 检查是否使用不同参数多次调用函数

c# - 如何测试包含 Application.Current 的方法

java - 使用 PowerMockito 测试框架进行 junit 测试时如何将接口(interface)引用注入(inject) Spring Controller?

android - 5 秒后未触发​​ Cordova 3.5 设备就绪事件

android - 将应用程序重新提交到 Google Play 商店,但仍然存在拒绝警告标志

c++ - 从类 T 获取函数名 (__func__) 和指向成员函数 void(T::*pmf)() 的指针