Code Digger analyzes possible execution paths through your .NET code. The result is a table where each row shows a unique behavior of your code. The table helps you understand the behavior of the code, and it may also uncover hidden bugs.
Through the new context menu item "Ge...
What an awesome tool.. Help us to explore our logic by providing accurate input parameter for each logic branch.. You should try this as one of your ultimate tool :) It really saves a lot of our time to explore every logic branch in our apps..
I like the minimalistic approach as compared to the old Pex. Adding cut and paste from the inputs/outputs window would be great. Showing code coverage in the target code would also be good.
I got burned with Pex and Moles when there was no replacement/upgrade/fix for VS2012. I told people: "Let the name of Pex and Moles be stricken from every book and tablet, stricken from all pylons and obelisks, stricken from every line of code". :( http://www.imdb.com/title/tt0049833/quotes Maybe this could be open sourced so it won't die when Nikolai and Peli move on to something else.
I haven't had any problems with it. It doesn't seem to explore as deeply as Pex but I haven't used enough to be sure. It is fairly fast though. Maybe that trade off could be controlled by settings. I look forward to more Pex functionality especially parameterized unit test code generation but I could do without moles. Id rather it generate tests with stubs for the fakes. If more than that is required just comment out the test. I hear fakes are already in the works. I hope it's better than moles though or a least restructure it to work with VS correctly.
This sounds like an awesome tool. I've been bemoaning the lack of something like it for a year or so. Sadly though every method I've tried it on results in an exception in the Pex Exploration Host. Vexing.
Hello, I installed code digger for 2012. I had hard times to generate automated unit test for my porject, i got 'path bounds exceeded' error. I tried a small sample Project and a simple method just returning the same parameter that i passed in. Bu i couldnt have any result until i delete the app.config file. Finally i couldnt generate any unit test for my code like explained in Pex videos.
Top stuff here. Very anxious for more of the Pex features that were available in VS 2010 Pex & Moles (like auto-gen unit tests). This tool is poised to become indispensable for anyone writing solid suites of unit tests.
This is certainly neat. I like what you're doing to simplify Pex and unit testing.
The (now merely default) PCL requirement is totally silly, perhaps because of the requirements of PCL projects being specifically cross-platform for at least two Microsoft technologies like Windows 8 phone, XBOX, Silverlight (is that even still being targeted?) I like the idea of a slimmed down set of target libraries, but for a business application running on a server (and will never run on an xbox, phone, or client browser) it's dumb to have to select that the PCL project targets .NET /and one other target/.
And there are a few bugs in the current release - after enabling Code Digger on non-PCL projects, I still got an empty results table. The solution was to delete the empty app.config file.
My confidence in the coverage of non-PCL code is not high yet. Can we trust the results? Can PEX tell us when it won't explore a branch?
But the project is really innovative and hats off to everyone on the project team! Keep up the great work.
CodeDigger is a great tool and we like to use it in production! But I think I encountered some problems. Especially with constructors. It seems, that CodeDigger does not instantiate a class by all available constructors. Sometimes it seems, that CodeDigger does not used the standard ctor as well. Is that correct?
Further, sometimes CodeDigger does not generate any outputs! What does that mean?
If you like I can send some code examples to show the problem with ctors or something else and I hope you can answer my question!
Thanks a lot in advance and best regards from Berlin!
I have to mention, that we use Fody for aspect-oriented programming. When I weave the NullGuard into the project, every output from CodeDigger disappears.
But the question about the ctors is still valid! :)
Thanks a lot!
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
Server stack trace:
at Microsoft.ExtendedReflection.Remote.RemoteServer.GetClient(String clientID)
I have tried to use it on PLC, VS 2012 Update 3 and W2K12 Standard and I get following info in Pex output:
listening to monitored x86 process (cold start)
monitored process exited with monitoring of X86 code not properly enabled (-1016 - 0xfffffc08)
On W2K7 and VS 2012 Update 3 same code works.
Any idea how to make it working?
First of all thanks for this plugin I really appreciate your work here.
Could you please guide me how to know at which line/method error actually occurred just like the web version of PEX (PEX4Fun) where after the output is generated clicking/selecting an error gives the error details below.
Code digger seems to have issues with app.config files. In several cases where it din't generate any input/output I removed app.config from the project, which resulted in input/output being generated..
Yes, that fixed that one problem with the app.config. Code Digger gets a bit further now, it starts to generate the input/output table items, but once the first item is displayed on the table, Code Digger crashes and burns once again and I get the prompt to send Crash Information to Microsoft. I proceed to send the information and then rinse and repeat and watch it crash and burn again. It doesn't seem to matter the location I generate the ins/outs from (any method), it crashes everywhere in the same way. I hope that you guys are able to see the Microsoft Crash reports about this, I wish I had more time to QA this but it is still unstable so I can't use it in a real world scenario just yet.
Thanks and please keep rolling out the updates.
I'd like to be able to copy the parameter values that result in failures so that I can write tests for them.
I don't seem to be able to do this from the "Inputs / Outputs" window, is there a log file I can get them from?
In C#, a \0 in a string does not mean zero-termination. It's just yet another character in the string (a very simple character where all bits are zero), and you can create as Pex shows the value: "\0".