可测试代码与静态方法? (MOQ)

时间:2014-08-08 16:52:47

标签: moq static-methods

我正在搜索有关测试方法和Moq的信息,它是一个不错的选择,但它不能模拟静态方法。

然而,在这个论坛中是一个问题,我读到静态方法比非静态方法更有效(消耗更少的资源)。此外,如果方法不使用对象的特定数据,则静态方法是更好的选择。问题was in this post

但是如果方法是静态的,我不能模拟该方法,所以在某些情况下似乎必须在能够测试方法或静态方法的性能之间做出选择。

有一些免费的替代moq来测试静态方法吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

我不知道一个可以模拟静态方法的框架,因为我不相信它是可能的,除了通过汇编注入之类的东西(即模拟程序集,命名空间和类,因此方法解析为注入符号)。

但是,我需要问一下,您是否需要具有如此高性能的代码,以便对调用实例方法的最低成本敏感?我高度怀疑是这种情况,如果是的话,你不应该使用一个可以暂停你的代码几毫秒来执行垃圾收集的环境。如果是这样的话,我很想知道你在写什么样的软件:)

因此,如果您的代码未在high-frequency trading software中使用,那么请考虑您是否更喜欢测试代码或极其高性能的代码。这让我觉得过早优化......