Vra

Watter raamwerke bestaan ​​om doelwit-C-kode te toets?Ek wil graag 'n raamwerk hê wat mooi met Apple Xcode integreer.

Was dit nuttig?

Oplossing

Xcode bevat XCTest, wat soortgelyk is aan OCUnit, 'n Objective-C-eenheidtoetsraamwerk, en het volle ondersteuning vir die uitvoer van XCTest-gebaseerde eenheidstoetse as deel van jou projek se bouproses.Xcode se eenheidtoetsondersteuning word beskryf in die Xcode Oorsig:Gebruik eenheidstoetse.

Terug in die Xcode 2-dae het ek 'n reeks weblogplasings geskryf oor hoe om 'n paar algemene take met Xcode-eenheidtoetsing uit te voer:

Ten spyte van die gebruik van OCUnit eerder as XCTest, is die konsepte grootliks dieselfde.

Ten slotte het ek ook 'n paar plasings geskryf oor hoe om toetse vir Cocoa-gebruikerskoppelvlakke te skryf;die manier waarop Kakao gestruktureer is, maak dit relatief eenvoudig, want jy hoef in die meeste gevalle nie 'n gebeurtenislus of iets dergeliks te draai nie.

Dit maak dit moontlik om toetsgedrewe ontwikkeling te doen vir nie net jou modelvlakkode nie, maar ook jou kontroleerdervlak en selfs aansigvlakkode.

Ander wenke

Uitteken GHUnit deur Gabriel Handford:

"Die doelwitte van GHUnit is:

Voer eenheidstoetse binne XCODE uit, waardeur u die XCODE -ontfouter ten volle kan benut.'N Eenvoudige GUI om u te help om u toetse te visualiseer.Wys stapelspore.Geïnstalleer word as 'n raamwerk (vir kakao -apps) met 'n eenvoudige (of nie) teikenopstelling;Of maklik om in u iPhone -projek in te pak. "

Ek het die Google Toolbox-toetsstelsel vir iPhone begin gebruik, en dit werk uitstekend vir my.

google-toolbox-vir-mac

Uitteken OCUnit.Apple se ontwikkelaarnetwerk het 'n goeie inleiding.

Let daarop dat die Google Toolbox for Mac (GTM)-projek eenvoudig Apple se SenTestingKit-raamwerk uitbrei/vermeerder (wat self op OCUnit gebaseer is).Soos hulle op die projekwebwerf sê:

GTM het verskeie verbetering aan die Standard SentStingKit, waardeur u UI -eenheidstoetsing, outomatiese bindingseenheidstoetsing, logopsporing en eenheidstoetsing op die iPhone kan doen, asook instrumente om statiese en dinamiese toetsing van u kode te doen.

Let op die volgende opmerking oor gebruikerskoppelvlaktoetsing:

GTM het uitgebreide ondersteuning vir die gebruikerskoppelvlak -eenheidstoetse.Dit ondersteun die toetsing van beide die beeldvorming en/of interne toestand van byna al die standaard Cocoa/UIKit UI -voorwerpe, en maak dit maklik vir u om hierdie ondersteuning uit te brei na u eie UI -voorwerpe.

Sien hul "Kodeverifikasie en Eenheidtoetsing" bladsy vir instruksies oor hoe om dit te gebruik.

Ek het tot die gevolgtrekking gekom dat GHUnit die mees gevorderde toetsraamwerk vir Objective-C is.Ek het 'n gedoen rond op van toetsraamwerke op my blog.Dit is die mees buigsame in terme van ontplooiing (iphone, simulator of mac os native) en beweer vermoëns.Omdat dit op GTM gebaseer is, erf dit al GTM se voordele bo SenTestingKit, maar voeg ook baie meer by.Nog 'n bonus is dat dit baie aktief onderhou word.

Ek het moeite gedoen om te integreer OCMock in GHUnit, dit werk wonderlik!.Jy kan die kode op kry github.

Ek besef dit is 'n ou vraag, maar as jy BDD-styl toetse (rspec, Jasmine, ens.) verkies bo xUnit-styl toetse (Test::Unit, JSUnit, JUnit, ens.), dan kan jy dit oorweeg om uit te check Sederhout.Cedar bring BDD-styl toetsing na Objective-C, noudat die taal sluitings ondersteun.

Ons gebruik graag Cedar vir ons iOS-projekte by Pivotal Labs, en ons werk aktief daaraan om dit te verbeter.Enige terugvoer of voorstelle is welkom by cedar-discuss@googlegroups.com

Ek sal ook aanbeveel om dekkingsinstrumente te gebruik om te sien watter deel van die kode met eenheidstoetse gedek word en watter nie.Basiese lyn- en takkodedekking kan gegenereer word met die GCOV gereedskap.As jy mooi HTML-dekkingsverslae wil genereer, is daar LCOV en ZCOV wat net dit doen.

Ek beveel gh-eenheid aan, dit het 'n goeie GUI vir toetsresultate.

http://github.com/gabriel/gh-unit/tree/master

Die Eenheidtoetsondersteuning saamgevat in xcode (vir sy eenvoudige opstelling) gekombineer met ocrunner (vir 'n paar outotoets/Growl goodness) is tans my gunsteling Obj-C Unit Testing-opstelling.

hier is 'n hele klomp van hulle

Lys_van_eenheidtoetsraamwerke in Objective-C

Sen:te (die skepper van die toetsraamwerk wat by Xcode ingesluit is) verduidelik hoe om OCUnit met 'n iPhone-projek te gebruik: eenvoudige-iphone-ipad-eenheid-toets.

Matt Gallagher van Cocoa with Love het 'n baie goeie artikel oor eenheidstoetsing.

Ek stel voor dat u kyk na Kiwi, 'n oopbron BDD-toetsraamwerk vir iOS:Kiwi

Kyk na die projek se WIKI om te begin of kry Daniel Steinberg se boek "Test Driving iOS Development with Kiwi"toets-bestuur-ios-ontwikkeling

Ek gebruik SimpleUnitTest werk met iPhone en iPad libs.

http://cbess.blogspot.com/2010/05/simple-iphone-ipad-unit-test.html

Dit kom met 'n eenheidstoets Xcode-sjabloon om maklik 'n eenheidstoetsklas by te voeg.Omhul GTM.

U kan dit letterlik in 'n aktiewe projek laat val en binne 3 minute (of minder) eenheidstoetse begin byvoeg.

Specta is 'n moderne TDD(Test Driven Development)/BDD(Behavior Driven Development) raamwerk wat bo-op XCTest loop.Dit ondersteun eenheidstoetsing vir iOS- en Mac OS X-projekte.

Ek hoop jy kan 'SenTestKit' gebruik, waaruit jy elke metode kan toets.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top