Suggestions received so far:
- Gerry (Lowry) suggested to add samples of legacy mocking. Deferred for now
Not sure I like this - the main purpose of the project is to teach newbies how to use "today" approaches, and legacy tricks would just confuse people. But time will tell. I'm going defer this idea and to get back to it later, when the project evolves to the point where we can talk about supporting legacy samples. - Gerry (Lowry) suggested to go beyond C# and add code in VB and maybe other languages. Deferred for now
Sounds like a great idea and if anyone would volunteer for porting the code to VB or any other language, it would be great. However, it seems that lack of lambdas in VB makes the port impossible. And ultimately Jonathan implemented it himself :) Great stuff! - Nat Pryce suggested to include test-failure diagnostics. In progress, some cases already implemented
Plan to add more - if you have anything specific in mind, don't hesitate adding a comment or two.
I can help with the VB if I can figure out how the heck you request to be a contributor...
woon, I've added you to the list of project members
Show the test-failure diagnostics that the different frameworks demonstrate. Are some more helpful than others?
Nat, what do you mean by "test-failure diagnostics"? Can you elaborate more?
Test-failure diagnostics means when a mock produces an exception, how easy is it to investigate it?
What about the debuggability of the generated mocks?
Hmm internal exceptions is a very interesting idea! Not sure about debuggability though - unless you have any ideas on how to highlight the differences easily.
Debuggability is simple: is it possible to step through the generated moq code?
"Generated moq code"? If you mean "step into mocked methods" then yes, but it's not generated.
The moq code is generated in memory using Reflection.Emit or expression trees. When you do this, it would also possible to emit debug symbols so that the user is actually able to step through the mock.
What about including Legend Fake ( http://fakes.codeplex.com/ )?
Ian - fantastic idea! Do you want to volunteer? How many of existing comparing scenarios does it support?
Can you draw up a nice table or chart of features and which frameworks have them or don't? It would be a great reference to the conclusions of the code.
bdimpe - there's one at http://codevanced.net/post/Mocking-frameworks-comparison.aspx
Would you mind updating the link on the project home page? 'Stubs' -> 'Moles'
@jonathan - done.
With VB10, how does Moq map to TypeMock??
@tommyjones11 - can you be more specific?
Is there an IoC container in this project? Could someone point out more details about how Mocking relies on Dependency Injection in this example?