OK, so it appears that I still suck at blogging regularly.
This one, however, was worthy.... I'm a fan of the whole TDD religion and I've had mass forced conversions to the religion here at my place of employment over the past couple of years. One of the tools that I've used throughout my crusade is TestDriven.NET. It is a great tool that integrates the process of testing very smoothly in Microsoft's Visual Studio.
Those among you who know me probably also know that I really like the Visual Studio IDE. Bash MSFT all you want due to business decisions, but I say that they know how to provide good developer tools and that is one of the reasons that you have so many developers/companies choosing their products over free/OS alternatives.
Anyhoo, about a year ago, I'd first heart about Jamie's plight with MSFT on the issue of TestDriven.net's ability to work with the Express SKUs of VS.net. While he had my sympathy, I never mentioned it because he'd not publicly announced his issues because, at the time, I think that he was still trying to work with the beast.
Anyway, all that has changed, so now I present to the MSFT-bashers of this lovely establishment some fodder for said bashing.
To me this is a huge example of MSFT the beast vs. MSFT the group of people that work there. There are all sorts of MSFT devs, MSFT MVPs, etc. that are good people and developers, but then there is the beast that overrides them and portrays MSFT as the slobbering, mind-numb beast that penguins all around the world love to hate.
Anyway, my rant is over, I just wanted to get Jamie's stuff out there to people who maybe don't keep up with MSFT-centric stuff on a daily basis.
Comments
Here it comes
First for the bashing. "but I say that they know how to provide good developer tools and that is one of the reasons that you have so many developers/companies choosing their products over free/OS alternatives." I think they have great tools, but I also don't think thats as difficult when you have one path, one solution, one integrated suite from the start. For some people that is good, some people like that, for others it is not so good. Good developer tools for people that don't like to have choices, or have real platform nuetrality, are those of MSFT. Java in particular has admittedly done a shitty job with integration of all the parts, but that was never the point or the focus, I don't think. Various open source languages, and Java, have more choices in terms of developer tools, frameworks, so on, and the integration points are not always as nice as in MSFT tooling, true. Some people though, don't want all the decisions made for them, especially so when those decisions are MSFT (with a history of bullshit in terms of business practices that would make them unpalatable even if *they* were themselves offering everything as open source).
As to TestDriven.net, I applaud the test driven approach, and have used it myself for years. How well does that sort of stuff work though, outside of an IDE on the command line so that you can run it in a continuous integration server? Or is that my ignorance speaking, do you even need an outside CI server, or is that function somehow built into the MSFT stack?
There it goes
MSFT - "not always as nice" is a joke, right? The integration points suck. Which I'm not really bashing.... it is what it is and when I'm wearing my Java hat, I use them in all their glory and I piss and moan about their weak points and laud their strong points... Anyway, the point is that MSFT produces good dev tools. Of course they are for their own stack and of course you have to target their stack.... I guess the only point I have to make is that when you are presented with "Get this done." And you have to look out in the tools world and make a decision on "How do I get this done fastest?" and you don't have any sort of religious or personal bias, then using MSFT tools is not an unwise decision.
Anyway, that's not the point, the point is that someone made a helluvan improvement to one of their tools and they're doing their same ole same ole from a busines tactics standpoint. Of course, they now have integrated their own testing stuff in Team Server that they'd rather everyone use, so I guess it is not too surprising.
Anyway, as to the command line question.... TestDriven.net does not do the testing... It is provides an integration into the testing harness of your choice, (NUnit, mbUnit, and MSFT's test stuff (and maybe more) are supported.) So it allows you to right-click on the IDE on a particular test method and do "Test with debugger" and td.net will startup whatever test engine you are using and step into your code. It allows very rapid development. But, again, the actual "testing" is done by whatever it is you are using.... (We use NUnit)
Finally, as I said earlier, MSFT does now have a CI story with their Team Server. It is actually quite full featured and our company is half-assed interested in dumping the various tools we use (SEAPINE SUCKS!) and looking at using the whole MSFT stack. It is also pricey, so I completely understand why some companies/people wouldn't choose to use it and would stick with tried and true OS stuff... (We currently use CC.net and NUnit for CI)