Android Studio:调试junit test:分配了错误的值

时间:2016-09-02 15:59:33

标签: android junit

我的同事开心的好日子,

我在Android Studio中编写了第一个单元测试。然而,这种行为很奇怪,或者我做错了。

在这个测试中,我只需创建一个X = 3和y = 0的android.graphics.PointF。但事实证明,从记录器开始,它总是为0.这是截图。我现在正在登录下一行,你可以在Concole看到: 信息:u2:x = 0.0 y = 0.0

Oh, I'm not allowed to embed images on SO, so please click here.

我在这里做错了什么?感谢。

2 个答案:

答案 0 :(得分:1)

好的,这种行为是因为:

  

默认情况下,Gradle的Android插件针对android.jar库的修改版本执行本地单元测试,该库不包含任何实际代码。相反,从单元测试中调用Android类的方法会引发异常。

从这里开始:https://developer.android.com/training/testing/unit-testing/local-unit-tests.html#mocking-dependencies

这解释了一切。所以我们需要做的是模拟PointF的一大堆方法。 顺便说一句,设置公共字段.x和.y确实很有效,因为它们后面没有setter,因此不会抛出任何异常。

实际上这一切都很奇怪。

答案 1 :(得分:0)

您可以通过在构造函数...

之后设置x和y来修复它
PointF f = new PointF(12f, 15f);
        f.y = 12f;
        f.x = 15f;

enter image description here