För ett par veckor sedan körde vi ett kurstillfälle med vår .NET-kurs på Combitech där vi bland annat inkluderar testdriven utveckling med Visual Studio och C#. Eftersom den Unit Test Wizard som fanns i tidigare versioner av Visual Studio har försvunnit från 2012 versionen där enhetstestdelarna har gjorts om rejält så innebär det en del merarbete att skapa testfall för hand. Det finns visserligen sätt att plocka fram den tidigare wizarden för att generera skal till testfall och projekt om man vill, den är bortkopplad från menysystemet men kan aktiveras igen.
Det har funnits indikationer på att en ny generator för testfall är på gång och att orsaken till att den gamla togs bort var att den inte kunde fås att fungera med alternativa testramverk som nu kan användas enkelt med hjälp av plugins till den nya test runnern. Det är då intressant att en första version av en ny Unit Test Generator extension nu finns tillgänglig i Visual Studio Gallery. I första läget stödjer den bara att generera testprojekt och testfall för metoder i existerande klasser och då bara för MS-Test, men målen är klara för att man ska kunna generera kod för andra testramverk när RTM versionen kommer.
Extensionen hittar man direkt i Tools –> Extensions and Updates… om man söker på “unit test generator” eller laddar ner från länken Unit Test Generator extension.
Det man får efter installationen är en context-meny (högerklick) i kodeditorn när man är i en metod med alternativet Generate Unit Test:

Resultatet är att testprojekt med korrekta referenser tillsammans med testfall för metoden skapas i din solution:

Testkoden som genereras i testklassen är enklast möjliga, inte fylld med regioner och bortkommenterade avancerade delar som den tidigare wizarden gav. Om man genererar testfall för fler av metoderna efter hand läggs dessa i samma testklass.
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Threading.Tasks;
6: using Microsoft.VisualStudio.TestTools.UnitTesting;
7: using CalculatorClassLibrary;
8:
9: namespace CalculatorClassLibrary.Test
10: {
11: [TestClass()]
12: public class CalculatorTests
13: {
14: [TestMethod()]
15: public void AddTest()
16: {
17: Assert.Fail();
18: }
19: }
20: }
Testfallen är sedan direkt färdiga att köras i Test Explorer i studion:

För den som vill påverka hur den genererade testkoden ser ut och namnges så finns en del enkla inställningsmöjligheter i Test-menyn:


Det ska bli intressant att följa detta tillägg framöver. Jag hoppas att det inte dröjer alltför länge innan de planerade funktionerna med stöd för alternativa testramverk och möjlighet att göra egna anpassningar för nya ramverk kommer.
Nu finns den första uppdateringen till Visual Studio 2012 klar och släppt för nerladdning.
Årets stora utvecklarkonferens om Microsoft-relaterad teknik, Build 2012, levererades i år direkt på Microsofts hemmaplan. Det egna campusområdet i Redmond var spelplats under fyra dagar förra veckan, 30/10 – 2/11. Ett ganska stort antal deltagare fyllde dagar, kvällar och nätter med stora keynotes, vanliga konferenssessioner, prat med utställare och varandra eller ett hackathon inriktat på att ta fram appar med support av Microsofts personal. Konferensen var inte fullt så stor i år som den var förra året men man hade byggt ett speciellt tält, vilket sades rymma 16 fullstora basketplaner, för att kunna samla alla deltagare vid de gemensamma keynotes som hölls de första två dagarna.
Första dagens keynote fokuserade i stort sett helt på Windows 8 och Windows Phone 8 och den nya hårdvara i form av slates, laptops, allt-i-ett-enheter och telefoner som kommer att rullas ut från de flesta hårdvarutillverkade i samband med att Windows 8 nu släppts på marknaden. Microsofts vd Steve Ballmer gjorde ett ovanligt sympatiskt intryck när han själv demonstrerade en lång rad funktioner i Windows 8 och Windows Phone 8, annars är det rätt vanligt att cheferna har med sig någon ingenjörer som kör demonstrationer. Man visade även den egna plattan Surface, nytt drag att de själva designar hårdvara, men det känns som ett viktigt drag för att motivera andra hårdvarupartners att ta fram snyggt designade produkter med högre byggkvalitet mm för att konkurrera med Apple. Att Steve tillsammans med Nokias chef i USA avslutade med att deltagarna skulle komma att förses med både Surface och Nokias Lumia 920 enheter för att kunna testa sina applikationer togs emot med jubel! Andra dagens keynote presenterade främst nyheter som kommer i Windows Azure, bland annat för att bygga servertjänster bakom de appar som förväntas slå igenom på Windows plattformen och de olika telefonplattformarna.

När jag testat lite mer med Visual Studio 11 under de senaste dagarna har man ju stött på en del tredjepartsverktyg som inte fungerar med VS11. Tex fungerar ju inte alla tillägg till Visual Studio 2010 i den nya 11:an. Ett av dessa tillägg som vi använder dagligen är WiX – ett verktyg för att skapa installationspaket (MSI). Egentligen fungerar ju WiX i sig, från kommandorad, om man har en dator med VS11 på men man kan inte ladda den speciella projekttyp för WiX som finns. Nu har gänget bakom WiX släppt sina första releaser som även installerar tilläggen i VS 11. Det var nog det sista hindret vi hade för att kunna jobba med alla delar av mitt dagliga uppdrag inne i VS 11. Ladda ner WiX senaste releaser från 

Comments are closed.