You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#测试中如何将变量存入列表批量断言员工个税计算结果

问题解答

当然可以,这种实现方式会比你当前逐一定义变量、逐条断言的写法简洁很多,后续新增测试员工的校验规则也只需要修改预期值列表即可,维护成本更低。

优化后的代码示例

public void TestTax()
{
    // 按_records的员工顺序定义预期个税值
    var expectedTaxList = new List<double> { 652, 418, 2202, 1104, 1797.45 };
    // 直接从_records提取所有实际个税值
    var actualTaxList = _records.Select(emp => emp.Gross).ToList();
    
    // 方法1:逐一比对,出错时可以明确知道是第几个员工的计算出问题
    for (int i = 0; i < expectedTaxList.Count; i++)
    {
        // 浮点数比较建议加容差,避免精度计算导致的误判,这里示例用0.001适配两位小数的金额场景
        Assert.AreEqual(expectedTaxList[i], actualTaxList[i], 0.001, $"第{i+1}位员工个税计算错误");
    }

    // 方法2:如果你用的测试框架支持集合断言,写法更简单
    // CollectionAssert.AreEqual(expectedTaxList, actualTaxList, delta: 0.001);
}

注意事项

  • 因为你用的是double类型存储金额,建议做断言的时候添加容差参数,避免浮点运算精度误差导致的测试误报
  • 要保证预期值列表的顺序和_records里的员工顺序完全一致,否则会出现比对错位的问题

内容的提问来源于stack exchange,提问作者JUJU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:57:00