如何增加镜头记录类型的覆盖率?

时间:2018-10-14 06:25:26

标签: haskell code-coverage lens

背景

我正在将记录类型与lens一起使用。我已经用HUnit和HSpec编写了一些单元测试。

但是,hpc覆盖率报告显示字段访问器从未执行过。

因此,有助于降低记录类型的覆盖率。

示例

data MetricValue =
  MetricValue { _average   :: Maybe Scientific
              , _count     :: Maybe Scientific
              , _maximum   :: Maybe Scientific
              , _minimum   :: Maybe Scientific
              , _timeStamp :: Text
              , _total     :: Maybe Scientific
              } deriving (Generic, Show)

makeLenses ''MetricValue

_average_count_maximum等字段以黄色突出显示,表示它们从未执行过。

问题

如何改善覆盖率?

我应该如何用镜头测试记录类型?

1 个答案:

答案 0 :(得分:0)

makeLenses不执行_average等字段访问器功能,仅使用它们来构造镜头。

如果编写使用aValue ^. average的代码,则镜头将调用_average函数。

相关问题