我正在使用 JavaFx 制作一个轻量级绘画应用程序。我的LayerController类及其方法addLayer等一直存在一些问题。所以我认为编写一些 JUunit 测试用例是检查我的方法的正确性的好主意。简而言之,我正在一个自制的类中Canvas使用它GraphicsContext,我称之为PaintGraphics。这个班级负责所有的绘画工作。需要LayerControlleraPaintGraphics在各层上完成其工作。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());
}
}
Run Code Online (Sandbox Code Playgroud)