Re: Fwd: Addin SetUp question

"Charlie Poole" <[email protected]>
Newsgroups gmane.comp.windows.dotnet.nunit.devel
Message-ID <002101c87d9a$344a4fa0$6401a8c0@ferrari>
Hi Kelly, 

> >  Then again, this list does include people who work with NUnit  
> > internals, so I'm glad I asked.
> 
> The thing that makes Eclipse so wonderful is the plethora of 
> well-documented extension points. That gives many mere 
> mortals the opportunity to create extension points. The whole 
> platform benefits quickly from that. That's in stark contrast 
> to the difficulty with which one can extend the Linux core, 
> for example. Slower benefits are realized there. As we move 
> towards NUnit v 3.0, I hope that we will keep the 
> "well-documented" part in mind, because extensibility is, in 
> my mind, a key differentiator for 3.0...  I intend on putting 
> my keyboard where my mouth is on that too.

That's my vision as well.
 
> I'm sure this is not lost on anyone, but what we think about 
> as "internal" and what we think about as newly exposed 
> extension points is an important design issue as we go 
> forward. If it's to be useful in 2.x, the same probably 
> applies, but I think it gets especially vital in the 3.0 time frame.

Yes. You'll notice that there is a big wided façade on top of the
engine in my "vision" block diagram. My view is that's the stuff
you should call from outside.

For extensions, we need to have the same thing - and in fact we do.

However, it turns out that most people who want to implement extensions
do so by deriving from internal classes. That's understandable, since
it's the easiest way to do it. So I think we have to provide some 
sort of minimal "extensibility kit" with the stuff that you need
to use to implement a test, for example.
 
> >  >  Would there be any backwards compatibility issues with  
> > current 
> > plugins  should you drop TestCase? Seems like that  > would make it 
> > hard to make  one plugin that worked with all  > versions, wouldn't 
> > it?
> >
> >  In theory, there could be. However, these are intended as  NUnit 
> > internal implementation details. The way to write  one plugin that 
> > works across multiple versions is to stick  to the 
> interfaces. That's 
> > just a bit hard to do right now.
> 
> Yup. Again, this is a good reason to get the extension points 
> in 3.0 as good as we can the first time around, as there 
> won't be a really super good way to fix it until 4.0, which 
> is hopefully years off.

Fortunately, mono.addins does have a way of versioning extension points.
But the actual action interfaces - the ones we create - will need to be
versioned as well.

Charlie

> -Kelly
> 
> --------------------------------------------------------------
> -----------
> This SF.net email is sponsored by: Microsoft Defy all 
> challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> nunit-developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/nunit-developer
> 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.