小编Ska*_*rsh的帖子

JUunit 测试用例中内部图形尚未初始化

我正在使用 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)

java junit javafx canvas graphicscontext

2
推荐指数
1
解决办法
5429
查看次数

标签 统计

canvas ×1

graphicscontext ×1

java ×1

javafx ×1

junit ×1