我正在用 JavaFx 制作一个轻量级的绘画应用程序。我的LayerController
课程及其方法addLayer
等一直存在一些问题。所以我认为编写一些 JUunit 测试用例来检查我的方法的正确性是一个好主意。简而言之,我正在Canvas
使用它GraphicsContext
在我称之为的自制课程中进行绘画PaintGraphics
。这个班级完成了所有的绘画。LayerController
需要在PaintGraphics
图层上完成工作。GraphicsContext
但是,当我在测试用例中启动 a 时,似乎出了点问题。我收到错误“内部图形尚未初始化。”。我猜这与the有关,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());
}
}