首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Robolectric ShadowPath

Robolectric ShadowPath
EN

Stack Overflow用户
提问于 2014-11-27 04:10:12
回答 1查看 55关注 0票数 0

我正在尝试使用ShadowPath来测试渲染器是否生成了我期望的点,但在尝试让它运行时,我肯定遗漏了一些东西。

代码语言:javascript
复制
public void test() {
  ShadowPath shadowPath = Robolectric.shadowOf(new Path());
  drawToPath(shadowPath);
  List<Point> points = path.getPoints();
  ...assertPoints...
}

public void drawToPath(Path path) {
  path.moveTo(x, y);
  path.drawTo(x1, y1);
  ...
}

显然,我不能将shadowPath传递给drawToPath(),因为它不是Path的子类,但是它如何截取moveTo和drawTo方法呢?

我遗漏了什么?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-11-27 07:16:47

答案是神奇的,不要到处传递阴影。

Robolectric.shadoOf(实例)将回调注入到原始path实例中,然后传递要使用的path实例。您可以在ShadowPath实例上调用getPoints来获取添加到原始实例的点。

至于实例化Path实例时的存根异常,我遇到了一个设置问题,@RunWith仍然设置为JUnit4.class,而不是RobolectricTestRunner.class,这意味着我实际上不能实例化Path。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27158040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档