Re: nunit-developer Digest, Vol 23, Issue 21
"Charlie Poole" <[email protected]> Sat, 26 Apr 2008 10:26:14 -0700
| Newsgroups | gmane.comp.windows.dotnet.nunit.devel |
|---|---|
| Message-ID | <000001c8a7c2$a2a8e1d0$6401a8c0@ferrari> |
Hi Gary, > My guess is that your extension should probably be both a test case builder > and a data provider, so take a look at the ParameterProviders extension > point. I've upgraded my theory extension to build and work against the NUnit 2.5 changes, but I haven't made use of any ParameterProvider stuff yet - what advantage does it give me to do so? To be more precise: I meant that the InlineData and PropertyData be handled by providers, rather than directly in your code. This has advantages and disadvantages, which probably apply differently to each of your extensions PRO You can reuse code, since NUnitTestMethod now understands providers. Your extensions can make use of other data providers, if those providers are willing to give you data. (Another way to say this is that people can decide to write data extensions for your provider.) Other extensions can make use of your data providers, if you allow it. (So someone could create a new extension from your building blocks) CON In 2.5, if you accept any data providers, you have no further control over which providers supply it. For my data-driven tests and fixtures, I can see that using the ParamterProvider lets me re-use code (I can lose my DynamicTestMethod which derives from NUnitTestMethod), but for my theory extension, I need to create a new TestMethod anyway - not just for the parameters, so it is worth me going to the efforts of using a parameter provider? I see the difference. You would have to figure out how much your new method differs from a standard method. For example, you may only need to override the method that translates an exception to a result state. Will it give me anything different - it this the way where we'd get the user's test method invoked for all data sets but only display one entry in the tree? (and they'd be able to drill down to see all of the data used in running the test/theory?) What is currently called ParameterProviders (a better name may be TestCaseProviders) is an extension point for creating new parameterized tests in the tree itself. I plan to add another extension point that provides data at runtime, without creating any new data in the tree. This would only work for a new type of test case that returned multiple results and would require support in the UI in order to drill down into the results. I feel that's still the biggest thing missing for the final 2.5 release. I just downloaded the latest versions of both extensions. I'll post any further comments as I go through them. Charlie Cheers, Gary _____ Get fish-slapping on Messenger Play Now <http://mobile.uk.msn.com/pc/messenger.aspx> ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ nunit-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nunit-developer