如何为电池类编写测试代码?

时间:2015-09-21 02:15:27

标签: java

编写可充电电池的电池类。电池具有构造函数public Battery(float capacity),其中容量是以毫安小时为单位的值度量。典型的AA电池容量为2000至3000 mAh。

方法public void drain(float amount)以给定的量消耗电池的容量。 public void charge()方法将电池充电至其原始容量。方法
public float getRemainingCapacity()返回电池的剩余容量。创建一个类BatteryTest,用于练习Battery类的方法。

我需要帮助为班级编写测试。我为该类编写了代码,但我无法弄清楚如何为它编写测试。

public class Battery 

{

float fullCharge = 3000;
float batteryCapacity;

Battery() 
   {
    fullCharge = 3000;
    }

public Battery(float capacity) 
    {

    batteryCapacity = capacity;
    fullCharge = capacity;

     }

public void charge()
    {
    batteryCapacity = fullCharge;
    }

   public void drain(float amount) 
   {
    batteryCapacity = batteryCapacity - amount;
    }

   public float getRemainingCapacity()
   {
    return batteryCapacity;
   }
}

所以,我尝试写一个测试,然后得到了:

 public class BatteryTest
{
 public static void main( String[] args )
 {
  Battery battery = new Battery(2500);

  battery.drain(2500);
  battery.charge();

  float capacity = battery.getRemainingCapacity();


  }

}

但是,我不太确定。我对此很新。

1 个答案:

答案 0 :(得分:0)

对类的正确测试展示了其方法的使用,并演示了这些方法如何处理任何边界情况 你已经拥有的非常好。我建议在每个方法(包括构造函数)之后输出(System.out.println)电池的容量,以表明它实际上已经设置为预期值。
这些方法没有任何参数验证,因此没有要测试的边界情况。

如果您正在编写UnitTest,Battery类的每个方法都会在测试类中拥有自己的测试方法,并遵循以下3个步骤:

  1. 设置数据
  2. 调用要测试的方法
  3. 断言实际值与预期值相同