0

是否有内置的可能性在 hspec 测试框架中创建快照测试?使用快照,我的意思是,可以将函数的输出与存储在文件中的预期输出进行比较。

或者是否有启用此功能的 hackage 包?

4

1 回答 1

2

hspec -golden 可以满足您的需求(该功能称为“黄金测试”)。引用他们的黑线鳕(Test.Hspec.Golden):

黄金测试将预期的输出存储在一个单独的文件中。每次执行黄金测试时,都会将被测对象 (SUT) 的输出与预期输出进行比较。如果 SUT 的输出发生变化,则测试将失败,直到更新预期输出为止。

从该模块导出的主要功能是defaultGolden. 这是一个例子:

describe "myFunc" $
  it "generates the right output with the right params" $
     let output = show $ myFunc params
       in defaultGolden "myFunc" output
于 2021-04-17T20:04:15.370 回答