• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tests nunit nunitforms
 

Tests nunit nunitforms

on

  • 284 views

Explicació amb exemples de NUnit i NUnitForms

Explicació amb exemples de NUnit i NUnitForms

Statistics

Views

Total Views
284
Views on SlideShare
275
Embed Views
9

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 9

https://twitter.com 9

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tests nunit nunitforms Tests nunit nunitforms Presentation Transcript

    • TDD Nunit i NUnitForms19.04.2013
    • 2NUnit http://www.nunit.org/ Framework per test unitari per llenguatge .NET Actualment versió 2.6.2 (Octubre 2012) Afegir al projecte referència nunit.framework.dll
    • 3NUnit Tests unitaris: Proven la correcta funcionalitat d’una classe Tests integració: Proven la correcta integració amb els recursos externs:base de dades, serveis web, APIs, etc Tests acceptació: Proven que el software fa el que desitja l’usuari
    • 4NUnit Cada classe del projecte hauria de tenir la sevaclasse de test Cada mètode o funció pública hauria de tenir elseu mètode de test Quan falla un test unitari sabem ràpidament onés l’error i el podem solucionar
    • 5NUnit Classe de test importa Nunit.Framework Davant la definició de la classe atribut <TestFixture()> Sol tenir una funció SetUp que s’executa abans decada test (ex: es creen taules a la base de dades is’inserten dades de test). Es marca amb <SetUp()> Sol tenir una funció TearDown que s’executa desprésde cada test (ex: se’liminen les taules). <TearDown()> Els mètodes de test no reben paràmetres i no retornenres. Es marquen amb atribut <Test()> Atributs: http://www.nunit.org/index.php?p=attributes&r=2.6.2
    • 6NUnit Dins dels tests es tracta de fer comprovacions: Asserts Assert.AreEqual, Assert.AreNotEqual Assert.True, Assert.False Assert.IsNull, Assert.IsNotNull Assert.Greater, Assert.Less Assert.IsInstanceOfType, Assert.IsNotInstanceOfType Assert.Throws, Assert.DoesNotThrow ... http://www.nunit.org/index.php?p=assertions&r=2.6.2
    • 7NUnit
    • 8NUnit Els test els pot executar la consola nunit-console.exe En un CMD o dins del Visual Studio – Herramientas -nUnit
    • 9NUnit Els test els pot executar la interfície Nunit
    • 10NUnit
    • 11NUnit L’execució pot treure un XML de sortida amb tot dedetalls dels tests que passen i els que NO
    • 12NUnit Beneficis: Ens obliga a fer el codi millor No hem de debugar tan com abans Seguretat alhora de fer canvis Serveix per documentar les funcionalitats fetes Ajuda a trobar errors estranys que maihaguessis trobat
    • 14NUnitForms http://nunitforms.sourceforge.net/ Extensió Nunit per test d’acceptació per aplicacionsamb Windows Forms Actualment versió 2.0 alpha (Maig 2006) Afegir al projecte referència NUnitForms.dll Alerta: La documentació de la web està obsoleta !!!Buscar la API documentation que s’instal·la !!! Pujat codi: http://svn.dtvc.local/EDEV/Components/NUNitForms/trunk Mirar els test com a documentació !!
    • 15NUnitForms Importar NUnit.Extensions.Forms Funciona per classes anomenades Testers quehereden de la classe mare ControlTester ButtonTester TextBoxTester FormTester TreeViewTester ToolStripButtonTester ...
    • 16NUnitForms Del ControlTester podem: Fer clic, mètode Click() Invocar qualsevol mètode Invoke(methodName, args) Disparar qualsevol event FireEvent(eventName, args) Accedir a qualsevol propietat mitjançantnomObjecte(“nomPropietat”) Els controls específics ens ho posen més fàcil encara: TextBoxTester.Enter(String) TreeViewTester.SelectNode(params) ...
    • 17NUnitForms
    • 18NUnitForms Drags and drops: A través de disparar events amb els arguments adequats
    • 19NUnitFormsPodem control·lar el ratolí ? Si, amb el MouseController Position: gets o sets mouse position Click DoubleClick Press Release HoverPerò, no m’ha funcionat molt bé, caldria veure els tests !!
    • 20NUnitFormsPodem control·lar el teclat ? Si, amb el KeyboardController Funciona molt bé el Type(KeyString) KeyString pot ser: ^ significa CONTROL ex: kc.Type(“^a”) = Copiar {BACKSPACE} = esborrar {ENTER} = return http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx
    • 21NUnitFormsPodem esperar formularis modals ?
    • DEMO
    • 23Conclusions
    • 24Conclusions Imprescindible per nous projectes: Tests unitaris, integració i acceptació Molta feina per projectes ja existents EditoraTickers324: 7dies de feina !! Mínim fer tests acceptació novesfuncionalitats Recompensa, val la pena  Objectiu: Aconseguir fer el test primer