Introduktion
Dette er den første post i en serie af artikler om C#4.0. Jeg vil her starte med at introducere hvordan jeg har installeret Visual Studio og konfigureret det, så det kan anvendes til denne artikelserie.Installation
Jeg har valgt at installere en Visual C# 2010 Beta 2 (VCS2010B2), som jeg vil anvende til lave kodeeksempler i. VCS2010B2 kan downloades her: http://www.microsoft.com/express/future/
Tilpasning
Da express versionerne af visual studio ikke har indbygget et unit test framework, har jeg også installeret NUnit. Nunit kan downloades som msi pakke her: http://www.nunit.org/index.php?p=download.
Den aktuelle version af NUnit (2.5.2) er ikke lavet så den understøtter C#4.0 har jeg ved hjælp af følgende beskrivelse ændret, således at den kan. (kilde: http://bit.ly/2j4u9U)
Find filen nunit-console.exe.config i %PROGRAMFILES%/nunit 2.5.2/bin/net-2.0 og tilføj følgende:
Under <configuration> tilføjes:
<startup> <requiredRuntime version="v4.0.20506" /> </startup>og under <runtime> tilføjes:
<loadFromRemoteSources enabled="true" />
Jeg har desuden lavet en genvej til at køre unit tests direkte fra visual studio. Det første man skal gøre, er at aktivere expert settings under menuen tools->settings.
Herefter kan man under punktet tools->external tools oprette følgende:
Command: %PROGRAMFILES%\NUnit 2.5.2\bin\net-2.0\nunit-console.exe
Arguments: $(TargetName).dll /nologo /nodots
Initial directory: $(ProjectDir)/bin/release
Jeg har desuden lavet en genvejs tast, så jeg kan køre unit tests uden at skulle aktivere menuen:
Åben menuen punktet tools>options og find keyboard indstillinger under environment
Har har jeg fundet kommandoen Tools.ExternalCommand1, der refererer til det først oprettede eksterne værktøj. Ved at sætte markøren i feltet Press shortcut keys kan man så vælge den genvejs tast man ønsker og her har jeg valgt Alt-R og derefter trykket på Assign.
Hello world
Så er det tid til at teste om det hele fungerer.
HelloWorldTest.cs
using NUnit.Framework; using HelloWorldBLL; namespace HelloWorldTest { [TestFixture()] public class HelloWorldTest { [Test] public void WhenCallHallo_HelloWorldReturns() { string actual = HelloWorld.SayHallo(); string expected = "Hello World"; Assert.That(actual == expected); } } }
HelloWorldBLL.cs
namespace HelloWorldBLL { public class HelloWorld { public static string SayHallo() { return "Hello World"; } } }
Resultat
ProcessModel: Default DomainUsage: Single Execution Runtime: net-4.0.21006.1 Tests run: 1, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0,082 seconds Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Som det kan ses her, er det lykkedes at køre testen uden fejl, hvilket betyder at jeg nu kan begynde at arbejde med systemet.
Ingen kommentarer:
Send en kommentar