我有一个类,它公开了一组 api,如下所示
class MyDataProcessor{
private int M;
private double[] data;
public MyDataProcessor(int N,int M){
this.M = M;
this.data = new double[M];
for(int i=0;i<M;i++){
int randomX = //get a random value
double v = processValue(randomX);
this.data[i] = v;
}
private static double processValue(int randomX){
//do some work on randomX and return a double value
}
private double mean(double[] a){
double meanValue = //find mean of a
return meanValue;
}
private double stddev(double[] a){
double stdDevValue = //find stddev of a
return stdDevValue;
}
public double lowerBoundConf(){
double mean = mean(this.data);
double sd = stddev(this.data);
double lb = mean + (1.96*stddev)/Math.sqrt(this.M);
return lb;
}
}
在这里,我必须对方法 lowerBoundConf
进行单元测试。我无法向此方法提供 double[] 数组(这会使事情变得简单)。该数组必须来自构造函数内部。我不知道如何为此编写测试。有人可以帮忙吗?
最佳答案
为了测试类的任何功能,您需要访问数据数组。将字段包设置为 protected Final,以根据数据值测试方法。
但是为什么要对未知的随机数据进行测试计算呢?这是没用的(作业?),而且只是随机结果。
关于java - 在构造函数中创建数据时如何对 java 方法进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584315/