单元测试非返回方法c#

本文关键字:方法 返回 单元测试 | 更新日期: 2023-09-27 18:04:08

如何对这样的方法进行单元测试?如果它是空的,那还可能吗?

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));
    }

单元测试非返回方法c#

单元测试可以验证以下三种情况之一:

  1. 方法返回值
  2. 方法改变状态
  3. 方法抛出异常

在你的例子中,你的方法通过做一些计算来改变状态。在这种情况下,您可以做的是验证instance._deltaCO2是否符合期望值。