我正在使用JavaFx制作轻量级绘画应用程序。
我的LayerController
课程及其addLayer
等方面遇到了一些问题。所以我认为编写一些JUunit测试用例最好检查一下Jjunit测试用例的正确性。我的方法。为了简化故事,我在Canvas
上使用GraphicsContext
在我自称为PaintGraphics
的自制课程中进行绘画。这堂课做了所有的绘画。 LayerController
需要PaintGraphics
才能在图层上执行其工作。但是当我在测试用例中发起GraphicsContext
时似乎出了问题。我收到错误"内部图形尚未初始化。"。我猜这与GraphicsContext
有关,但我不确定。任何有关错误发生原因的想法,以及如何解决它将非常感激!
测试的源代码如下所示:
package view;
import static org.junit.Assert.*;
import java.util.ArrayList;
import org.junit.Test;
import controller.LayerController;
import javafx.scene.canvas.Canvas;
import javafx.scene.layout.AnchorPane;
import model.Layer;
import model.PaintGraphics;
public class LayoutControllerTest {
Layer layer = new Layer(0, new Canvas(100,100));
ArrayList<Layer> layers = new ArrayList<Layer>();
PaintGraphics pGraphics = new PaintGraphics(layer.getCanvas().getGraphicsContext2D());
LayerController layerController;
@Test
public void addLayerTest() {
layers.add(layer);
layerController.addLayer(layer, (AnchorPane)layer.getCanvas().getParent());
}
}