I'm starting a project for Windows Phone, I never developed for windows phone nor .Net before.
When I create a new project in Visual Studio Community 2013 it offers me to create it for Windows Runtime or Silverlight.
I would like to follow TDD with some kind of mocking framework, but I'm reading that WinRT have problems with that.
What importance does this decision have? What are the implications of each one? Is possible to have a mocking mechanism in WinRT?
The short answer is stick with universal app and winrt. That is the future of windows development. You will get much better code reuse and the framework is designed from the groundup to be completely asynchronous. Silverlight is more of the legacy way of doing things and i suspect it will be used less and less over time. TDD is not a problem for either.
What importance does this decision have? At this time i don't think much of any but universal apps are the future and i really don't see them supporting silverlight indefinitely. One of the big benefits of WinRT is it is designed to be mostly async friendly. This is a big deal for mobile development and keeping the UI responsive.
What are the implications of each one? Silverlight is the legacy and is does not have as many async based components built in. WinRT is designed for async and is a framework build right on top of Win32.
Is possible to have a mocking mechanism in WinRT? Absolutely, however i'd focus on learning the general framework of development before adding on testing. As you become more comfortable in the language step back and see how to make things testable.
Hope that helps.