在这个问答内容中,我们讨论了使用Clojure.mock来嘲笑非fn变种。Clojure.mock是一个用于模拟Java对象的库,它可以帮助我们在测试中创建模拟对象,以便在不实际调用实际方法的情况下测试代码。
在Clojure中,函数是一等公民,这意味着它们可以像其他数据类型一样被操作。因此,当我们尝试使用Clojure.mock模拟一个非fn变种时,我们可能会遇到一些问题,因为非fn变种不是函数。
在这种情况下,我们可以考虑使用Clojure.mock的替代方法,例如使用protocols或者multimethods来实现多态性。这将允许我们在测试中模拟不同的行为,而不仅仅是函数。
总之,Clojure.mock是一个强大的库,可以帮助我们在测试中模拟Java对象。然而,当我们尝试模拟非fn变种时,我们可能需要考虑使用其他方法,例如protocols或multimethods,以实现更好的模拟和测试。
领取专属 10元无门槛券
手把手带您无忧上云