我在試圖編寫JUnit測試時偶然發現了這一點。無可否認,這是我在JUnit中的第一次單元測試,但我確實發現這種行爲非常令人費解。Android PointF構造函數不能在JUnit測試中工作
package com.example.dom.pointfbugrepro;
import android.graphics.PointF;
import org.junit.Test;
import static org.junit.Assert.*;
public class ExampleUnitTest {
@Test
public void pointf_isCorrect() throws Exception {
PointF foo = new PointF(5, 0);
assertEquals(5, foo.x, 0.0001f);
}
}
運行該測試在一個全新的Android項目導致斷言失敗:
java.lang.AssertionError:
Expected :5.0
Actual :0.0
一件事,我發現在調查這個問題是分配到的PointF實例的x
場直接做工作。
那麼這裏有什麼問題?爲什麼構造函數沒有正確設置字段?我該如何測試使用PointF Android類的類?
您是否嘗試過使用調試器查看'PointF'對象? –
@StefanBirkner是的,它說這些字段都是'0.0'。 – dom96
你能在構造函數的第一行設置一個斷點嗎? –