Comments on: Sins of .NET API Developers /2008/03/25/sins-of-net-api-developers/ Thu, 16 Mar 2017 16:29:15 +0000 hourly 1 http://wordpress.org/?v=4.2.14 By: Comparing .NET DI (IoC) Frameworks, Part 1 » Blog Archive » I Think It’s Interesting /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-1470 Tue, 19 Aug 2008 12:09:52 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-1470 […] is obsolete and well-hidden, also it uses GetExportedTypes instead of GetTypes (The Sin of Shallow Digging), so it’s useless if you want to hide implementations and expose only interfaces. For […]

]]>
By: Andrey Shchekin /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-651 Sun, 30 Mar 2008 20:30:14 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-651 Jeff, I am sorry for having bashed MbUnit, but for me this post was about common deficiencies, and MbUnit was only an example, since I use it every day.

Andrey, have you tried [assembly: InternalsVisibleTo(RhinoMocks.StrongName)]?

]]>
By: Andrey Titov /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-650 Sat, 29 Mar 2008 11:47:30 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-650 I’ve found another example similar to your #2.
Rhino mock can’t create partial mock on non pulic types. So I can’t test my BC classes using partial mocking because they are all internal for BL and are accessible outside only with public facade.

]]>
By: Jeff Brown /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-647 Fri, 28 Mar 2008 22:35:02 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-647 The best way to ensure that problems are solved is to get involved.

I’m pretty smart and I spend a fair amount of time thinking about these issues upfront so that they are “solved by default.” But I will miss stuff or I will postpone it due to conflicting priorities.

So I count on the community of other smart people like yourself to point out deficiencies that affect them so that they can be directly addressed.

Also keep in mind that I only found this post accidentally. So you’re lucky I even noticed it at all. The issue tracker and mailing lists are much better ways to ensure that your feedback gets noticed and taken into consideration.

]]>
By: Andrey Shchekin /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-639 Wed, 26 Mar 2008 19:38:32 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-639 Thank you, Jeff. I know that I could have asked you directly instead of blogging it, but I wanted to stress the importance of solving these things by default.

As for Gallio, I’ll enjoy working with it when it’s out, but it is not here yet. So, since I wanted to extend a stable version, I haven’t looked deep into Gallio.

]]>
By: Jeff Brown /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-638 Wed, 26 Mar 2008 08:42:04 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-638 Gallio and MbUnit v3 have already handily resolved the IFixtureFactory issue you mentioned. The system is much more open to extension now. Components can even be replaced via the IoC if you like.

This is something I have *thought* very carefully about. Trust me. I don’t doubt we could do even better. Let me know if you have any ideas. (MbUnit v2 is a different story.)

As for internal test fixtures, this is something we have considered and can very easily change. It’s not entirely clear its a good idea. For example, we might encounter problems in partial trust execution environments.

However, you do make a good case regarding the interaction with [InternalsVisibleTo] and the implied constraints on the visibility of any derived types. Previous requests for this feature have largely been from people wanting to mix test fixtures with production code.

In any case I’ll go ahead and enable internal fixtures in the next update. Not really worth fussing over.

In the future, if there’s anything else you want a tool to do, please just ask for it. It might already be there or it might be something that has just yet to be done pending sufficient demand.

]]>
By: Andrey Shchekin /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-636 Tue, 25 Mar 2008 21:07:24 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-636 Thanks, it solves the problem at hand.

]]>
By: Ayende Rahien /2008/03/25/sins-of-net-api-developers/comment-page-1/#comment-633 Tue, 25 Mar 2008 18:00:31 +0000 /index.php/2008/03/25/sins-of-net-api-developers/#comment-633 Try IKernel.ResolveAll(), it has non generic version

]]>