我有一个类,它是有向无环图上的拓扑排序的实现。这个类有两种方法:
public static int [] sort(int [] [] dag) - 将表示DAG的二维数组作为参数并返回有序节点的数组
私有静态无效访问 - 该访问执行深度优先搜索并用于排序方法
我必须编写一个JUnit测试来测试具有不同输入的代码。我对JUnit测试比较新,我不知道如何解决这个问题。我想我需要编写参数化测试但是如何测试静态方法sort(int [] [] dag)?我需要任何模拟对象吗?如果你能给我一些见解,我会很感激。
答案 0 :(得分:0)
1.您可以在JUNIT中使用参数化测试。通过它你可以提供多种输入组合。根据你的要求你可以改变。我们最近使用我们的项目随机生成输入的一个更有趣的随机测试。请看看 https://github.com/randomizedtesting/randomizedtesting
var x = [];
for ( i = 0 ; i < 5; i++) { x.push(i); }
var y = [];
for ( i = 0 ; i < 5; i++) { y.push(i); }
var type = 'scatter';
var trace1 = { x: x, y: y, type: type };
var data = [trace1];
Plotly.newPlot('myDiv', data);
另请查看以下帖子 static junit example
答案 1 :(得分:0)
你是新手,有些指导思想:
最后:您只测试公共sort()方法,避免测试私有实现细节。