.net 如何度量模拟框架(TypeMock)的开销?

.net 如何度量模拟框架(TypeMock)的开销?,.net,unit-testing,mocking,load-testing,typemock,.net,Unit Testing,Mocking,Load Testing,Typemock,我刚刚开始为我的团队评估mocking框架,我想知道是否有人可以提供一些参考文档或经验,您可以在进行性能测试时分享有关mocking成本的信息 链接?个人经历?非常感谢详细信息。IIRC TypeMock使用探查器API,这通常会增加相当多的开销,但仍应比通过探查器运行应用程序更快 NCover还使用了探查器API,速度似乎相当快。IIRC TypeMock使用了探查器API,这通常会增加相当多的开销,但仍然比通过探查器运行应用程序要快 NCover还使用了Profiler API,速度似乎相当

我刚刚开始为我的团队评估mocking框架,我想知道是否有人可以提供一些参考文档或经验,您可以在进行性能测试时分享有关mocking成本的信息


链接?个人经历?非常感谢详细信息。

IIRC TypeMock使用探查器API,这通常会增加相当多的开销,但仍应比通过探查器运行应用程序更快


NCover还使用了探查器API,速度似乎相当快。

IIRC TypeMock使用了探查器API,这通常会增加相当多的开销,但仍然比通过探查器运行应用程序要快


NCover还使用了Profiler API,速度似乎相当快。

Aaron Jensen创建了一个测试项目,并进行了一些性能测试


尽管我更愿意根据API和功能进行选择,但性能可能是TDD的一个问题,需要多次运行测试。

Aaron Jensen创建了一个测试项目并进行了一些性能测试


虽然我更愿意根据API和功能进行选择,但性能可能是TDD的一个问题,并且会多次运行测试。

我们已经使用TypeMock几年了,根据我的经验,性能方面没有明显的开销(我肯定会有开销,这不是什么大问题)

然而,由于TypeMock工作的性质,有几点需要考虑。由于TypeMock基本上是通过动态注入代码来工作的,因此错误有时可能非常奇怪。因此,报告错误可能会成为一项艰巨的任务。做好深入研究的准备

我的经验是,很难向“普通开发人员”解释TypeMock是如何工作的。它很快就会变得复杂,即使他们的跟踪工具使故障排除变得可行,但仍然会留下一些支持任务


此外,由于TypeMock允许您模拟任何东西(mscorlib除外),因此您实际上不需要向代码中添加必要的间接寻址级别。这是一个特性,TypeMock在这里并不是真正的错误。尽管如此,我还是看到很多开发人员试图通过到处模拟而不是解耦代码来解决他们的问题。这并不能提高总体代码质量。

我们已经使用TypeMock好几年了,根据我的经验,在性能方面没有明显的开销(我肯定有开销,这不是什么大问题)

然而,由于TypeMock工作的性质,有几点需要考虑。由于TypeMock基本上是通过动态注入代码来工作的,因此错误有时可能非常奇怪。因此,报告错误可能会成为一项艰巨的任务。做好深入研究的准备

我的经验是,很难向“普通开发人员”解释TypeMock是如何工作的。它很快就会变得复杂,即使他们的跟踪工具使故障排除变得可行,但仍然会留下一些支持任务


此外,由于TypeMock允许您模拟任何东西(mscorlib除外),因此您实际上不需要向代码中添加必要的间接寻址级别。这是一个特性,TypeMock在这里并不是真正的错误。尽管如此,我还是看到很多开发人员试图通过到处模拟而不是解耦代码来解决他们的问题。这并不能提高总体代码质量。

我一直在测试模拟框架(特别是Moq和TypeMock)。TypeMock功能更强大、更灵活,但由于它作为探查器插入到框架中,因此它确实对性能产生了重大影响

我的结论是TypeMock是非负载测试场景的优秀工具。最小起订量不太灵活。。。但重量要轻得多,对一般性能没有广泛影响。使用Moq,您必须专门设置应用程序,以便能够模拟外部依赖项(无论如何,这是良好设计中的一个练习),但事实证明,它更适合我的负载相关场景


不幸的是,我在测试中没有记录关于Moq和TypeMock的实际数字,但根据我的经验,Moq的性能优势非常重要。

我一直在测试模拟框架(特别是Moq和TypeMock)。TypeMock功能更强大、更灵活,但由于它作为探查器插入到框架中,因此它确实对性能产生了重大影响

我的结论是TypeMock是非负载测试场景的优秀工具。最小起订量不太灵活。。。但重量要轻得多,对一般性能没有广泛影响。使用Moq,您必须专门设置应用程序,以便能够模拟外部依赖项(无论如何,这是良好设计中的一个练习),但事实证明,它更适合我的负载相关场景


不幸的是,我在关于Moq和TypeMock的测试中没有记录实际的数字,但在我的经验中,Moq的性能优势是非常重要的。

TypeMock允许您模拟DateTime。Now和StreamReader.ReadToEnd(我想它是从5.3.1开始的)TypeMock允许您模拟DateTime。Now和StreamReadToEnd(我想是从5.3.1开始)