开发者

DynamicObject: is this a good solution for mocking?

开发者 https://www.devze.com 2023-01-04 09:36 出处:网络
I\'ve been learning about DynamicObject in .NET 4.0 and was wondering if this type wou开发者_开发技巧ld be well suited to creating mock objects.

I've been learning about DynamicObject in .NET 4.0 and was wondering if this type wou开发者_开发技巧ld be well suited to creating mock objects.

Mocking seems like a great way to use DynamicObject, but am I missing something?

  • Are there any mocking frameworks that use DynamicObject (as opposed to dynamic proxies or interception) for mocking?
  • Are there any disadvantages to using DyanmicObject for mocking (besides requiring the .NET 4.0 CLR)?


The biggest drawback that I can think of is that you can call literally any method/property in the world on a dynamic types.

for example, think of the hell it would be to update your tests if your api changed - you tests would still all compile, however they would all die with runtime errors if they tried to exercise the renamed/removed methods.

This, combined with the fact that you lose all Intellisense when operating on dynamic objects leads me to believe that a dynamic-based mocking library would be more difficult to use that something proxy-based like Rhino.

0

精彩评论

暂无评论...
验证码 换一张
取 消