unittest i moss

Post on 26-Jan-2016

27 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Unittest i MOSS. SPBG. Test driven development Unit test frameworks MOSS TDD Mocking Design patterns. Test driven development. - PowerPoint PPT Presentation

TRANSCRIPT

SPBG

Test driven development Unit test frameworks MOSS TDD Mocking Design patterns

Test-driven development (TDD) is a software development technique that uses short development iterations based on pre-written test cases that define desired improvements or new functions. Each iteration produces code necessary to pass that iteration's tests. Finally, the programmer or team refactors the code to accommodate changes. A key TDD concept is that preparing tests before coding facilitates rapid feedback changes.

Mind set Test før implementation Unit test vs Integrations test

Test af den udviklede kode Ikke test af ”andres kode” Flere test til den samme kode Test for at finde fejl Test for se fejl håndtering

Fordele: Nemt at overdrage til anden udvikler Fejl bliver ofte fundet før det er i drift Giver en ”kontrakt” Kvalitets sikring

Ulemper: Meget mere kode Kan give større arbejde ved refaktorering Svært at omstille sig til

Udvikling af en webpart i MOSS. Webpart skal vise vejret i et givet land Landet er default givet af web site

lokalisering Vejr data hentes fra en webservice Præsentationen skal bruge et specifikt xsl Det skal være muligt at angive et andet

land end default

Visual Studio Unit test (2008 / team system)

Nunit - http://www.nunit.org Udfordring:

Data skal klargøres til test, ikke ens miljøer Bruger context er svær at teste. CurrentWeb SharePoints klasser

Er Sealed Ingen interfaces Intern construnctors Collections har ingen add metoder

Simulering af objekter Eliminere eksterne afhængigheder i test Eliminere Interne afhængigheder

Farme works: Nmock - http://www.nmock.org

RhinoMock - http://ayende.com/projects/rhino-mocks.aspx

TypeMock - http://www.typemock.com

Type mock AAA Arrange Act Assert

To syntakser Isolator Pattern Natural Mocks™

Opsætning af forventninger

Isolator

Natural

Udførsel af kald

Verificering af kørsel

Design patterns kan give mere testbar kode

Eksempler Dependency injection Factory pattern / Command pattern Model–view–controller

Frigør koden fra oprettelse af eksterne afhænigheder

Instantiering af eksterne afhæigheder sker uden for metoden eller klassen

Indsætter en central mekanisme til oprettelse af objekter

Factory eller Command klasse kan konfigureres til at kontrollere test

Opsplitning af ansvar for visning af data, Model indeholder data funktioner Viewer kontrollere visning Controller reagere på events og binder

model og viewer sammen Eksempel: Webpart der bruger XSLT XSLT er Viewer XML data er model Webpart cs. er controller

MS framework se http://www.asp.net/mvc/

top related