Re: Obfuscation & unit testing

Cory Foy <[email protected]>
Newsgroups gmane.comp.windows.dotnet.nunit.user
Message-ID <[email protected]>
Michael Reppy wrote:
> It seems if I rearrange how we are handling strong naming issues and set 
> up the solution to deploy the application dlls and test dlls to one 
> folder I can obfuscate the application dlls but not the test dlls and 
> still have them linked and the tests continue to have their highly 
> descriptive names but the stack traces show that they are testing the 
> obfuscted dlls.

That's what I was going to recommend. It will rename the calls to the 
methods in the CUT, but not your test names. I suppose as long as if you 
run into problems you only make changes to the unobsfucated code, then 
you'll be good.

> That all seemed to work fine.  The only potentially fatal flaw I found 
> is with the strong naming issue, something I don't entirely understand 
> in .net, particularly the differences between reflection on the desktop 
> and handheld.  The help & support from the Dotfuscator people seemed to 
> have a process for applying strong names after the fact, which I can 
> follow after I spend some time figuring out what's going on.

What's the problem you are running into? It sounds like you have a 
couple of things:

  - Reflection /is/ different on the CF. I'm not sure what you need it 
for, other than the tests, which Charlie has already mentioned the 
upcoming NUnitLite stuff.

  - Strong naming is needed to sign the code, and you can use various 
tactics (like delay signing) depending on what your needs are. Of 
course, you can't sign the code until it is obsfucated (AFAIK), but I'm 
not sure what problems you are running into.

I can email some of the internal dev lists at my work to see how people 
get around the problems you are running into if I can get a clear 
definition of what they are.

-- 
Cory Foy
http://www.cornetdesign.com



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
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.