我有一个要测试的android customView。
当N是subView高度时,很少有测试会模拟N dps的滚动。
我使用robolectric运行测试,但是我总是在运行时获得subView.getHeight() == 0
那是因为subView的高度被定义为wrap_content
,我想robolectric不会对所有视图进行充气以获取准确的信息。
例如,subView.getWidth > 0
定义为match parent
。
这是我的测试@before
方法:
@Before
public void setUp() {
myView.getHeaderView().getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
myHeight =
myView.getHeaderView().getHeight();
}
});
activityScenarioRule
.getScenario()
.onActivity(activity -> activity.setContentView(myView));
activityScenarioRule.getScenario().moveToState(State.RESUMED);
}
在测试运行时如何仍然获得自动换行内容的高度?
该代码确实调用onGlobalLayout
,但返回height==0
答案 0 :(得分:0)
使用 测试方法上方的@TextLayoutMode(REALISTIC)注释。