也只是想获得对以下代码的第二意见(如果我做得正确的话)。我编写了一个方法,使用 postCode
变量为变量 labourCharge
创建乘数,以增加昂贵区域的乘数。
首先,我需要编写一个公共(public)方法costMultiplier()
,它不接受任何参数并返回一个 double 值。对于以“WC1A”或“EC1A”开头的邮政编码,该方法应返回 1.2,否则返回 1.0。
public double costMultiplier() {
if (postCode.startsWith("WC1A") || postCode.startsWith("EC1A")) {
return 1.2;
}
else
return 1.0;
我基本上正在创建一个计算地毯成本和配件的程序。主类是carpetestimator类,变量是postcode和labourCharge。我正在寻找一种简单的方法来测试例如地毯估计器ce =新地毯估计器(4.0);之类的东西ce.getlabourCharge();...所以基本上如果我编码正确,一旦我执行上面的语句,就会显示答案 0。这就是我想测试上面代码的方式。 }
最佳答案
您可以使用此方法来测试您的功能并对其进行调整。
public class Sample {
public double costMultiplier(String postCode) {
if (postCode.startsWith("WC1A") || postCode.startsWith("EC1A")) {
return 1.2;
}
else
return 1.0;
}
}
这是使用 JUnit 的测试类。
import org.junit.Assert;
import org.junit.Test;
public class SampleTest {
@Test
public void test1() {
Sample s = new Sample();
Assert.assertEquals(1.2, s.costMultiplier("WC1A"),0.00001);
}
@Test
public void test2() {
Sample s = new Sample();
Assert.assertEquals(1.2, s.costMultiplier("EC1A"),0.00001);
}
@Test
public void test3() {
Sample s = new Sample();
Assert.assertEquals(1.0, s.costMultiplier("ABC"),0.00001);
}
}
添加正面和负面测试是个好主意。
引用 JUnit 断言 API:http://junit.sourceforge.net/javadoc/index.html?org/junit/Assert.html
关于java - 如何测试以下Java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59220064/