Skapa enhetstester i Visual Studio 2012 med ny extension

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:

image

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

image

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:

image

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:

image

image

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.


Comment Section

Comments are closed.

Snabbare debugging i riktigt stora solutions

Vi har brottats med dåliga prestanda i Visual Studios debugger under flera år i ett projekt jag arbetar med. Det handlar om att single-step debugging i riktigt stora solutions, här pratar vi om 120+ projekt i en solution, går segt och tär rejält på tålamodet. Flera sekunders fördröjning för varje steg man tar med step-into eller step-over när man sitter och letar efter fel är inte ovanligt trots mycket enkla operationer i varje steg.

Men alldeles nyss gjorde min projektkollega, Henrik Cooke, ett fenomenalt genombrott i frågan! Debuggingen blir riktigt rapp och responsiv om man stänger av Edit and Continue funktionen i Visual Studio debuggern.

Så om du inte använder eller i alla fall kan leva utan Edit and Continue stöd när du kodar och felsöker så gör så här:

  • Gå till menyn DEBUG -> Options and Settings…
  • Öppna fliken Debugging -> Edit and Continue
  • Se till att rutan Enable Edit and Continue är urkryssad och välj OK

Det ska se ut så här:

image

Steg-operationerna i debuggern flyger fram efter att man fixat detta!


Comment Section

Comments are closed.

Visual Studio 2012 Update 1

imageNu finns den första uppdateringen till Visual Studio 2012 klar och släppt för nerladdning.

Som det tidigare sagts så kommer dessa uppdateringar att släppas kvartalsvis framöver!

Ladda ner här: VS 2012 Update 1


Comment Section

Comments are closed.

//build/ 2012

DSC_1668Å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.

Att Microsofts verksamhet är stor i Redmond och Seattle området är kanske ingen överraskning, men jag hade inte riktigt koll på hur stort deras campus är förrän jag sett det själv under denna resa. Som exempel på det enorma området kan man ju ta att man använde två byggnader med stora hörsalar under konferensen, dessa var belägna ca 2,5 km från varandra och mellan dem bussades deltagarna för att byta lokal beroende på vad man ville se under sessionerna. Det intressanta blir när man tar in att man egentligen aldrig lämnade campusområdet under denna bussfärd… Det ger lite annat perspektiv.

Keynotes

DSC_1203Fö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.

Sessioner

De vanliga sessionerna på konferensen kunde grovt delas in i de fyra kategorierna

  • Windows 8 och utveckling av appar
  • Windows Phone 8
  • Windows Azure och ASP.NET
  • Visual Studio 2012 och Team Foundation Server/Services

När fjärde dagen gick mot sitt slut hade jag sett följande, här länkat till respektive Channel 9 video:

Som ni ser är det en blandad kompott. Tyvärr är det ju som på de flesta konferenser att man inte hinner med att gå på alla sessioner man tycker verkar intressanta och under vissa tidsslottar på veckan finns inte något passande att se och då tar man något utanför den vanliga intressezonen. I fallet med min vecka på Build så var det några tillfällen då det helt enkelt var för populära talare så man inte fick plats. Det kan man ju som tur är rädda upp genom att titta på videoinspelningarna efteråt. Man ska ju ha något att göra på flyget hem också! Det är ju egentligen nu efter konferensen det verkliga jobbet att skaffa praktisk erfarenhet av nya tekniker, som tex Windows Phone 8, börjar på allvar.

Om man inte redan installerat och kör den får man t. ex. en introduktion till nyheter i Visual Studio 2012 här: What’s new in VS2012. Det finns alltså massor av möjligheter för alla intresserade att lära sig oavsett erfarenhetsnivå och specialintressen. Så passa på att utnyttja att materialet ligger öppet för alla att se på Channel 9.

Slutsatser

Microsoft förmedlar i alla fall budskapet att man jobbar stenhårt på att vi som utvecklare ska ha en smidig och produktiv resa framåt med att ta fram appar både för Windows 8 och Windows Phone. Verktygen blir allt bättre för att hjälpa oss på vägen. Traditionell webbutveckling flyter ihop alltmer med tjänster i molnplattformen Azure som också blir allt enklare att komma igång med, framför allt för mobila appar och att bygga servertjänster som knyter samman användarna. JavaScript kan helt klart betraktas som hett för tillfället, men verkar bemötas med viss skepsis även från Microsoft, det är populärt och många kan det redan men det är samtidigt ett ganska trasigt språk. Detta är något man vill reparera med TypeScript som löser många av de problem som finns i traditionell JavaScript kod. Det känns för mig som man gör detta för att få acceptans av erfarna utvecklare som vill ha bättre kodkvalitet med typning, klasser mm. En del frågetecken kvarstår efter konferensen, t. ex. att utveckling av appar för Windows Phone 8 idag inte kan göras i JavaScript/Html5 vilket är ett utvecklarspår man pushar mycket för på vanliga Windows 8. Viskningar i korridorerna tyder dock på att orsaken är att verktygen för det inte är klara än men att de kommer framöver.


Comment Section

Comments are closed.

Windows 8 Release Preview och Visual Studio 2012 RC är här!

Från och med idag kan man byta ut sin tidigare Windows 8 preview installation med en rykande färsk version av Windows 8 Release Preview! Använd webbinstallationsverktyget från https://windows.microsoft.com/en-US/windows-8/download eller ladda ner och installera från färdiga ISO-filer som finns på https://windows.microsoft.com/en-US/windows-8/iso. Denna release finns nu direkt tillgänglig även på svenska!

För den som behöver labba med Windows Server 2012 Release Candidate så finns även denna att hitta för nerladdning på TechNet: https://technet.microsoft.com/en-US/evalcenter/hh670538.aspx

image

Nu kan man ladda ner Visual Studio 2012 RC med tillhörande släktingar som TFS 2012 RC och .NET Framework 4.5 RC från https://www.microsoft.com/visualstudio/11/en-us/downloads.


Comment Section

Comments are closed.

Bygga Windows Phone 7 Appar på Windows 8 Consumer Preview (del 2)

Som jag skrev tidigare i Bygga Windows Phone 7 Appar på Windows 8 Consumer Preview så fungerade inte Windows Phone emulatorn i WP 7.1 SDK när den installerades på Windows 8.

image

Nu har det kommit en uppdatering till WP 7 SD som laddas ner här: WP SDK 7.1.1 Update

Denna uppdatering löser dels problemet att kunna köra emulatorn på Windows 8, men ger även tillgång till emulatorer för de nyare, enklare, telefonmodellerna med 256 Mb minne.

Ett mindre problem som kvarstår som jag sett är att emulatorn går i snigelfart om man har Hyper-V funktionen installerad i Windows 8. Antagligen något slags krock där Hyper-V tar kontrollen över virtualiseringsfunktioner som Windows Phone emulatorn egentligen vill använda.


Comment Section

Comments are closed.

Onlinekonferens om CQRS, Azure, Phone och lite till

Tisdag, 24:e april, 2012 går Microsofts patterns & practices Symposium som en direktsänd onlinekonferens.

Microsoft patterns & practices one-day ONLINE symposium 2012

Kanske kan vara värt en titt om följande agenda innehåller saker du är intresserad av:

09:00-09:05 Welcome, Soma Somasegar

09:05-10:10 Keynote, Udi Dahan

10:15-11:10 A Journey into CQRS, Julian Dominguez, Grigori Melnik

11:15-12:10 Windows Azure App Scaling to Need, Grigori Melnik, Julian Dominguez

12:30-13:25 Hybrid Cloud Applications, Scott Densmore

13:30-14:25 node.js on Azure, Yavor Georgiev

14:25-15:25 Non sequitur: Gadgeteering, Pete Brown

15:30-16:25 Building testable phone applications, Francis Cheung

16:30-17:25 Bringing WOW to the mobile web, Christopher Bennage

17:25-18:30 Keynote: Big transitions in small steps, Kent Beck

 

Kolla in mer information och registrera dig på Microsoft patterns & practices Symposium 2012


Comment Section

Comments are closed.

WiX Toolset med stöd för Visual Studio 11

logoNä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 WiX Releases.

Eftersom WiX gänget är specialister på installationspaket så kan man ju förstå att de är tidigt ute med nytänkande i sitt eget installationspaket… Det är nog det första riktigt Metro-inspirerade installationspaketet jag sett:

wixinstaller

Den tvåfärgade mörk/ljusröda breda knappen i mitten är alltså en progressbar som visar hur lång installationen kommit!


Comment Section

Comments are closed.

SQL Server 2012 & SQL Server Data Tools

Som om det inte fanns nog med nya grejer att labba med sen förra veckans Windows 8 + VS 11 Beta så kommer nu den färdiga versionen av SQL Server 2012. Det är till och med ett virtuellt release event nu den 7 mars. Än så länge finns bara en utvärderingsvariant att ladda ner men det kan ju vara intressant att köra den fram till 1 april 2012 då den blir fullt tillgänglig. Fullständiga versioner inklusive Developer Edition finns nu på MSDN Subscriber Downloads. Om du inte har en MSDN prenumeration kan man testköra med nedanstående utvärderingspaket:

Microsoft® SQL Server® 2012 Evaluation

Microsoft® SQL Server® 2012 Feature Pack

Vill man kolla på vad som är nytt finns där översikter och ett antal djupare sessioner finns att se.

För utvecklare innebär denna nya version att det kommer nya verktyg.

Kombinationen av ny SQL Server och nya verktyg i Visual Studio är intressant. Kanske det kommer att stabilisera sig och vi slipper få en ny projekttyp för databaser för varje uppdatering av Visual Studio som släpps fram framöver. Vi får hoppas att de hittat rätt form nu, det ser i alla fall lovande ut.

imageUnder senaste dagarna när jag labbat med Visual Studio 11 så råkade jag tex på en ganska intressant nykomling i SQL Server familjen, SQL Server Express LocalDB – en lättvikts variant av SQL Express som passar bra för utvecklingsändamål. Den aktiverar och kopplar upp databaser efter behov. Kopplingen till databasen stängs sedan automatiskt en kort stund efter att den process som använder databasen stängt anslutningen. Detta helt utan att man behöver skapa nya databaser manuellt på någon installerad instans av SQL Server.

De nya verktygen för att hantera SQL Server databaser i Visual Studio, SQL Server Data Tools (SSDT) gör att man kan jobba effektivt med datalagret direkt i studion. De flesta funktioner man tidigare behövde SQL Server Management Studio till går nu att jobba med från Visual Studio.

SSDT är inte heller begränsad till att bara fungera ihop med VS 11, om man vill utnyttja SSDT finns verktygen att plocka ner till VS 2010 via Web Platform Installer.


Comment Section

Comments are closed.

Bygga Windows Phone 7 Appar på Windows 8 Consumer Preview

Om du installerat Windows 8 Consumer Preview på din utvecklingsdator och sedan försökt installera Windows Phone 7.1 SDK, för att kunna bygga appar med Visual Studio, så har du antagligen stött på felmeddelanden.

Det är främst två problematiska paket som gör att WP 7.1 SDK inte kan installeras:

  • Microsoft XNA Game Studio 4.0
  • Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0

Anledningen att installationen av dessa två paket misslyckas är att de i bakgrunden försöker installera Microsoft Games for Windows som en delkomponent och den version som SDK installationen laddar ner fungerar inte på Windows 8.

Detta går dock att lösa genom att ladda ner Microsoft Games for Windows separat och installera den före man försöker lägga in Windows Phone 7.1 SDK!

För att det hela ska fungera smärtfritt kan följande sekvens vara bra att följa:

  1. Stäng av UAC tillfälligt
  2. Avinstallera alla delar av eventuellt misslyckad Windows Phone 7.1 SDK installation
  3. Avinstallera Microsoft Games for Windows klienten
  4. Starta om datorn
  5. Ladda ner och installera Games for Windows nyare klient här - Games for Windows Marketplace-klient
  6. Installera Windows Phone 7.1 SDK
  7. Aktivera UAC igen
  8. Starta om datorn

När dessa steg har klarats av så kan man bygga appar för WP7 på en dator med Windows 8 Consumer Preview!

Men eftersom preview- och betavärlden inte är till för de som är rädda för lite omvägar så finns ju en del problem som återstår när det gäller att köra apputveckling på Windows 8.

  • Windows Phone emulatorn fungerar inte alls på Windows 8
  • Det går bara att bygga appar i Visual Studio 2010

Debugging måste alltså göras på en fysisk Windows Phone 7 enhet som är upplåst för utveckling. Tyvärr integreras inte heller verktygen i WP7 SDK med nya Visual Studio 11 Beta så man får hålla tillgodo med 2010 versionen av utvecklingsmiljön.


Comment Section

Comments are closed.

<< Older Posts | Newer Posts >>