【发布时间】:2014-07-06 13:26:22
【问题描述】:
如何对这样的方法进行单元测试?当它是一个虚空时,它甚至可能吗?
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));
}
【问题讨论】:
-
void方法通常会影响应用程序的状态(又名:变量在某处发生更改)。在您的情况下,您似乎正在更改instance._deltaCO2所以模拟/存根并验证更改。
标签: c# unit-testing void