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

如何为特定属性获取代码覆盖率?以新增AppTenantsCpgDisplay属性为例

为模型新增属性获取代码覆盖率的实现方案

你可以通过给新增的AppTenantsCpgDisplay(对应模型中的Display属性)赋值模拟GUID的方式满足代码覆盖率要求,具体实现如下:

测试代码示例

在测试类中定义模拟GUID集合,然后为目标模型属性赋值:

// 定义模拟的GUID集合
private static readonly IEnumerable<Guid> MockDisplayGuids = new List<Guid>
{
    Guid.NewGuid(),
    Guid.NewGuid()
};

// 测试方法覆盖属性的读写逻辑
[Test]
public void AdvertOfferReadModel_DisplayProperty_Covered()
{
    var model = new AdvertOfferReadModel();
    // 覆盖属性set访问器
    model.Display = MockDisplayGuids;
    
    // 覆盖属性get访问器(如果业务代码中有读取逻辑,这里也可以结合业务场景验证)
    Assert.That(model.Display, Is.EqualTo(MockDisplayGuids));
}

关键注意事项

  • 由于你的AdvertOfferReadModel中Display属性标记了[JsonProperty(Required = Required.Always)],测试时必须赋值,否则在序列化/反序列化场景下会抛出异常,同时这也能覆盖属性的set逻辑。
  • 若业务代码中存在读取Display属性的逻辑(比如根据GUID集合做业务判断),测试时需针对性覆盖这些场景,确保完整的代码覆盖率。
  • 你之前写的static private readonly IEnumerable<Guid> Display;是类字段定义,直接用它给模型属性赋值是可行的,但建议修改命名(如MockDisplayGuids),避免与模型属性名混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:05:24