如何对这样的方法进行单元测试?当它是空的时候它甚至可能吗?
public static void CalcDeltaCO2 ()
{
double plantCO2usage = CalcPlantCO2Usage ();
double airShiftsPerHour = 1 + instance._greenhouse.WindowRoof.GetStatus ();
double co2AtStart = _simulatedChunks > 1 ? Toolbox.PPMtoM3perM3 (instance._currentCO2Sensor) : Toolbox.CO2_LEVEL_OUTSIDE;
instance._deltaCO2 = Toolbox.M3perM3toPPM ((((instance._greenhouse.CO2Dispenser.GetFlow ()) - plantCO2usage
/ (airShiftsPerHour * instance._greenhouse.Volume))
* (1.0 - (1.0 / Math.Pow (Math.E, (airShiftsPerHour * Toolbox.CHUNK_TIME_H)))) + (Toolbox.CO2_LEVEL_OUTSIDE - co2AtStart)
* (1.0 / Math.Pow (Math.E, (airShiftsPerHour * Toolbox.CHUNK_TIME_H))) + co2AtStart)
- Toolbox.PPMtoM3perM3 (instance._currentCO2Sensor));
}
答案 0 :(得分:2)
单元测试可以验证以下三种情况之一:
在您的情况下,您的方法通过执行一些计算来更改状态。在这种情况下,您可以做的是验证instance._deltaCO2
是否具有预期值。