我正在将 Midje 用于一个项目。我试图在 wiki 中查找如何创建自己的检查器,但找不到。
就我而言,我想比较两个图像是否相等。但可能是我只想比较文件的一些属性,因为它的大小,可能是几个像素。也许“平等”会有点灵活,因此需要个性化的检查器。
我该怎么做?
谢谢。
midje github repo 中有一个 wiki 页面,描述了如何定义自己的检查器。
箭头右侧使用的检查器是一个简单的谓词函数,接受左侧的结果。
在您的示例场景中,您可以创建自己的函数来检查文件:
(defn filename-matches? [expected-name]
(fn filename-matcher [actual-file]
(= expected-name (.getAbsolutePath actual-file))))
然后你可以在你的测试中使用它:
(generate-file) => (filename-matches? "output.txt")
如果您想在箭头左侧使用检查器,您需要按照另一个 wiki 页面上的说明进行操作。
如果您对使用普通谓词函数时生成的失败消息的格式不满意,您可以使用 wiki 页面上讨论的聊天检查器中描述的一些工具。