我怎么能嘲笑驼鹿对象?(How can I mock Moose objects?)

2019-08-03 09:27发布

当嘲讽对象驼鹿,他们将注入其他驼鹿对象类型受限属性都采用什么策略Perl的人呢?

测试:: MockObject ::扩展似乎并不与驼鹿发挥出色。 我所需要的对象,以祝福为特定的软件包,但这样一个香草的Test :: MockObject将无法正常工作。 我相信其他人也有类似的困难。 你是如何解决的呢?

加分项目上已有CPAN解决方案。

Answer 1:

嗯,我没有这样的事情的专家,但我想看看第一件事情就是肖摩尔(Sartak) 试验MockOO 。

如果这不适合你,我会再看看使用元对象协议的权力和starrt手动构建Mock对象。 再看类:: MOP ::类和驼鹿::元::班如何重写特定的方法和/或在运行时创建整个类编程。

如果仍然不适合你的工作,我会荡过去IRC和要求。 驼鹿hevy打者挂在那里,我敢肯定,他们中的一个又碰上这种情况。



Answer 2:

自塞一点,但我写http://search.cpan.org/~cycles/Test-Magpie-0.05/lib/Test/Magpie.pm ,也许你会发现这很有用。 与此创建一个模拟作为任何类,并执行每一个角色可能。 它不会在所有的嘲笑一个特定的对象或类。 可悲的是CPAN的搜索是有点垃圾,所以搜索“模拟测试”的结果不显示它。

我还要提到的是,文件不包含一个巨大的动机或示例代码的量,所以你不妨检查一下一些测试:

  • http://cpansearch.perl.org/src/CYCLES/Test-Magpie-0.05/t/mockito_tutorial.t
  • http://cpansearch.perl.org/src/CYCLES/Test-Magpie-0.05/t/basic.t


文章来源: How can I mock Moose objects?