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) Afe...
3NUnit Tests unitaris: Proven la correcta funcionalitat d’una classe Tests integració: Proven la correcta integració a...
4NUnit Cada classe del projecte hauria de tenir la sevaclasse de test Cada mètode o funció pública hauria de tenir elseu...
5NUnit Classe de test importa Nunit.Framework Davant la definició de la classe atribut <TestFixture()> Sol tenir una fu...
6NUnit Dins dels tests es tracta de fer comprovacions: Asserts Assert.AreEqual, Assert.AreNotEqual Assert.True, Assert....
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 Ser...
14NUnitForms http://nunitforms.sourceforge.net/ Extensió Nunit per test d’acceptació per aplicacionsamb Windows Forms A...
15NUnitForms Importar NUnit.Extensions.Forms Funciona per classes anomenades Testers quehereden de la classe mare Contro...
16NUnitForms Del ControlTester podem: Fer clic, mètode Click() Invocar qualsevol mètode Invoke(methodName, args) Dispa...
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 Double...
20NUnitFormsPodem control·lar el teclat ? Si, amb el KeyboardController Funciona molt bé el Type(KeyString) KeyString p...
21NUnitFormsPodem esperar formularis modals ?
DEMO
23Conclusions
24Conclusions Imprescindible per nous projectes: Tests unitaris, integració i acceptació Molta feina per projectes ja e...
Tests nunit nunitforms
Tests nunit nunitforms
Upcoming SlideShare
Loading in …5
×

Tests nunit nunitforms

208
-1

Published on

Explicació amb exemples de NUnit i NUnitForms

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
208
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tests nunit nunitforms

  1. 1. TDD Nunit i NUnitForms19.04.2013
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 7NUnit
  8. 8. 8NUnit Els test els pot executar la consola nunit-console.exe En un CMD o dins del Visual Studio – Herramientas -nUnit
  9. 9. 9NUnit Els test els pot executar la interfície Nunit
  10. 10. 10NUnit
  11. 11. 11NUnit L’execució pot treure un XML de sortida amb tot dedetalls dels tests que passen i els que NO
  12. 12. 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
  13. 13. 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ó !!
  14. 14. 15NUnitForms Importar NUnit.Extensions.Forms Funciona per classes anomenades Testers quehereden de la classe mare ControlTester ButtonTester TextBoxTester FormTester TreeViewTester ToolStripButtonTester ...
  15. 15. 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) ...
  16. 16. 17NUnitForms
  17. 17. 18NUnitForms Drags and drops: A través de disparar events amb els arguments adequats
  18. 18. 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 !!
  19. 19. 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
  20. 20. 21NUnitFormsPodem esperar formularis modals ?
  21. 21. DEMO
  22. 22. 23Conclusions
  23. 23. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×