Unit Testing World Wind
From World Wind Wiki
Revision as of 08:39, 11 January 2018 (edit) Monday (Talk | contribs) ← Previous diff |
Current revision (21:13, 21 August 2019) (edit) (undo) F0urtyfive (Talk | contribs) m (Reverted edits by Monday (Talk); changed back to last version by Mkpl) |
||
Line 1: | Line 1: | ||
- | hll20180112 | + | '''Unit Testing World Wind''' |
- | http://www.outletmichaelkorsonline.us.com | + | |
- | http://www.coach-outletonlines.us.com | + | I would like to float a proposal to start adding Unit Testing for any new features we add to World Wind. This isnt user or tester testing, unit tests is code and classes you add to a project to test that the code you write behaves as expected and can be tested and verified by automated tools. So if you check in changes a periodic build can build *and* test the code. |
- | http://www.mulberry-bags.me.uk | + | |
- | http://www.ralphlaurensale-clearance.me.uk | + | The pedantic form of writing tests is to write it *before* you write the actually code. I know it sounds odd, but think about it, you *have* thought through your classes and written some stuff down, you *do* know where you are gonna start, you *aren't* making it up as you go along are you? :) Writing tests before coding makes you stay honest with yourself. |
- | http://www.adidasnmdr1.us.com | + | |
- | http://www.ultraboost.us | + | *Pros |
- | http://wwwcanadagoose-uk.com.co | + | ** Writing tests makes you think about what your code does and is it as simple as possible |
- | http://www.longchampoutletus.us.com | + | ** Verifiable testing, CruiseControl.Net, Nant and many other tools can build and run the tests and give quick feedback about things that dont pass. |
- | http://www.philippplein-outlet.com | + | **Regessions are (hopefully) spotted quickly |
- | http://www.polooutlets.us.org | + | **Produces better code. |
- | http://www.katespadeonlineoutlet.us.com | + | |
- | http://www.canadagoosesalejackets.us.com | + | *Cons |
- | http://www.hermes.us.org | + | **Percieved increase in time it takes to write code. (Time spent answering questions and testing is not visible to developers) |
- | http://www.ralphlaurensale-clearance.org.uk | + | **Extra dependancy for the build. |
- | http://www.burberry-outlet-canada.ca | + | **Testing GUI is hard. |
- | http://www.cheapoakleysunglassesofficial.us.com | + | **Separation of concerns is hard to start doing (Large event methods - see WorldWindow.cs - _OnMouseDown) |
- | http://www.cheapraybans.com.co | + | |
- | http://www.air-max2018.us.com | + | |
- | http://www.red-bottoms.us.com | + | *Tools |
- | http://www.pandorajewelrypandora.us.com | + | **Unit Testing |
- | http://www.yeezyboost-350.us.com | + | ***TestDriven.NET |
- | http://www.canadagoosejacketscanada.ca | + | ***MB.Unit |
- | http://www.uggbootsonline.us | + | **Automated Builds |
- | http://www.canadagoosesaleoutlet.us.com | + | ***Nant |
- | http://www.uggbootswomen.us.com | + | ***Cruise Control.Net |
- | http://wwwcanadagoose-jacketsuk.com.co | + | |
- | http://www.polooutlet.in.net | + | [[Category:Dev]] |
- | http://www.canadagooseoutletus.us.com | + | |
- | http://www.airmax-2018.com | + | |
- | http://www.adidasyeezyboost-350.us.com | + | |
- | http://www.hermes-handbags.us | + | |
- | http://www.michaelkorsoutlet.us.org | + | |
- | http://www.cheapnfljerseysnflwholesale.us.com | + | |
- | http://www.uggsboots.name | + | |
- | http://www.adidas-yeezyshoes.us.com | + | |
- | http://www.ralphlauren-outlet.me.uk | + | |
- | http://www.ralphlauren.me.uk | + | |
- | http://www.pandora.us.com | + | |
- | http://www.michaelkorsfactoryoutletsale.us.com | + | |
- | http://www.pandora-charms.us.org | + | |
- | http://www.uggsoutletonlines.us.com | + | |
- | http://www.timberland-outlets.us | + | |
- | http://www.cheapnfljerseysofficial.us.com | + | |
- | http://www.harden-vol1.com | + | |
- | http://www.uggoutletstore.name | + | |
- | http://www.toryburchoutletonline.com.co | + | |
- | http://www.polo-ralphlauren.in.net | + | |
- | http://www.canadagooseoutlet.name | + | |
- | http://www.ralphlaurenoutlet.in.net | + | |
- | http://www.michael-korsoutlet.ca | + | |
- | http://www.uggoutletonline.name | + | |
- | http://www.cheapjordans.in.net | + | |
- | http://www.nikeoutlet.us.com | + | |
- | http://www.nikeairmax.in.net | + | |
- | http://www.uggs-boots.us.org | + | |
- | http://www.yeezyboost.org.uk | + | |
- | http://www.nike-store.us.com | + | |
- | http://www.uggsaustralia.fr | + | |
- | http://www.uggsoutlet.cc | + | |
- | http://www.coachfactoryoutlet-storeonline.us.com | + | |
- | http://www.moncler-outlet.us.org | + | |
- | http://www.air-jordans.us.com | + | |
- | http://www.pandoracharms.us.com | + | |
- | http://www.oakley.nom.co | + | |
- | http://www.coachhandbagsoutlet.us.com | + | |
- | http://www.moncleroutlets.us.org | + | |
- | http://www.uggscanadaugg.ca | + | |
- | http://www.christianlouboutinoutlet.us | + | |
- | http://www.outletlouisvuitton.us.com | + | |
- | http://www.jordanretro.name | + | |
- | http://www.guccihandbagsoutlet.us.com | + | |
- | http://www.oakleysunglassesforwomen.us.com | + | |
- | http://www.michael-korshandbags.me.uk | + | |
- | http://www.outletuggoutlet.us.com | + | |
- | http://www.uggs-boots.fr | + | |
- | http://www.salvatoreferragamoshoes.us.com | + | |
- | http://www.katespadeoutletstoreonline.us.com | + | |
- | http://www.canadagoosejacketssale.com.co | + | |
- | http://www.canadagooseukjackets.me.uk | + | |
- | http://www.nikezoom.us | + | |
- | http://www.airmax-97.us | + | |
- | http://www.uggoutlet-store.us | + | |
- | http://www.canadagooseoutlet-jackets.us | + | |
- | http://www.timberlandbootsoutlets.us.com | + | |
- | http://www.coachoutlet-onlinesale.us.com | + | |
- | http://www.raybansunglasses.net.co | + | |
- | http://www.ralph-laurenoutlet.com.co | + | |
- | http://www.pandoracharmssaleclearance.uk | + | |
- | http://www.canadagooseoutletjackets.com.co | + | |
- | http://www.mbtshoessale.us.com | + | |
- | http://www.coachoutletstoreonline.com.co | + | |
- | http://www.adidasnmd-shoes.us | + | |
- | http://www.kate-spade.us.com | + | |
- | http://www.louisvuittonoutlet.us.org | + | |
- | http://www.michaelkorsoutletclearance.in.net | + | |
- | http://www.adidasshoe.us.com | + | |
- | http://www.canadagooseoutletjackets.us | + | |
- | http://www.michaelkorsoutletonlinemichaelkors.us.com | + | |
- | http://www.uggsoutletclearance.us.com | + | |
- | http://www.canadagoose-outlet.name | + | |
- | http://www.canadagoosejacketsoutlet.name | + | |
- | http://www.ralphlaurenoutletonline-polo.us.com | + | |
- | http://www.adidas-nmd.us.com | + | |
- | http://www.adidasnmd.us.org | + | |
- | http://www.katespade.in.net | + | |
- | http://www.louboutinshoes.in.net | + | |
- | http://www.monclerjacketsoutlet.in.net | + | |
- | http://www.uggsoutletstoreonline.us.com | + | |
- | http://www.hermesbirkin.in.net | + | |
- | http://www.adidas-shoes.us.com | + | |
- | http://www.poloralphlaurenoutletonline.us.com | + | |
- | http://www.michaelkors-outlet.ca | + | |
- | http://www.coachfactory-outletonline.us.org | + | |
- | http://www.nikeoutlet.in.net | + | |
- | http://www.uggsbootsonline.us.com | + | |
- | http://www.cheapmlbjerseyschina.us.com | + | |
- | http://www.oakleysunglassessalecheap.us.com | + | |
- | http://www.katespadehandbagsclearance.us.com | + | |
- | http://www.nikeshoes.in.net | + | |
- | http://www.fitflopssale-clearance.us.org | + | |
- | http://www.longchamp-outlet.us.com | + | |
- | http://www.pandoracharms.name | + | |
- | http://www.outletcanadagoose.us | + | |
- | http://www.airmax-97.us.com | + | |
- | http://www.raybansunglassessalecheap.us.com | + | |
- | http://www.uggbootssales.us.com | + | |
- | http://www.cheapoakleysunglasses.com.co | + | |
- | http://www.coachoutlet-online.us.org | + | |
- | http://www.michaelkorsoutletshopping.us.com | + | |
- | http://www.ralphlaurenoutletpolo.org.uk | + | |
- | http://www.canadiangoose.us.com | + | |
- | http://www.pandora-outlet.us.com | + | |
- | http://www.jordanshoesforsale.us.com | + | |
- | http://www.michaelkorsoutlet1.us.com | + | |
- | http://www.ralph-laurenoutlet.org.uk | + | |
- | http://www.ralph-laurenuk.org.uk | + | |
- | http://www.coach-outletonline.us.org | + | |
- | http://www.timberlandbootsoutlet.us.com | + | |
- | http://www.raybansunglasse.com | + | |
- | http://www.adidas-superstar.us.com | + | |
- | http://www.northface-jackets.us.com | + | |
- | http://www.coachoutletcanada.ca | + | |
- | http://www.canadagooseukjackets.org.uk | + | |
- | http://www.michael-korsoutlets.us.com | + | |
- | http://www.ralphlaurenoutletsale.us.com | + | |
- | http://www.nikeshoes.us.com | + | |
- | http://www.supremeclothing.us.org | + | |
- | http://www.thenorthfacejacketsoutlet.us.com | + | |
- | http://www.monclerjacketsuk.org.uk | + | |
- | http://www.uggoutletonlines.us | + | |
- | http://www.doudounemonclerpascher.fr | + | |
- | http://www.coachoutletus.us.com | + | |
- | http://www.outletcoachoutlet.us.com | + | |
- | http://www.ugg-boots.net.co | + | |
- | http://www.airjordanshoes.in.net | + | |
- | http://www.cheapjordans-shoes.us.com | + | |
- | http://www.cheapjordanshoes.us.com | + | |
- | http://www.raybanssunglassesoutlet.us.com | + | |
- | http://www.moncleroutlet.me.uk | + | |
- | http://www.michaelkorsoutlet.co.uk | + | |
- | http://www.uggbootsoutletstores.us.com | + | |
- | http://www.oakley--sunglasses.us.org | + | |
- | http://www.louisvuitton-outlet.us.com | + | |
- | http://www.cheapjordan-shoes.in.net | + | |
- | http://www.uggsoutletus.us.com | + | |
- | http://www.adadassuperstar.com | + | |
- | http://www.cheapjordans.com.co | + | |
- | http://www.catboots.us | + | |
- | http://www.ralphlaurenoutletmalls.us.com | + | |
- | http://www.vuittonlouis.us.com | + | |
- | http://www.cheapuggs.com.co | + | |
- | http://www.burberryoutlet.in.net | + | |
- | http://www.christianlouboutinshoes.us.org | + | |
- | http://www.michaelkorsoutletonlineclearance.in.net | + | |
- | http://www.outletcoachonline.us.com | + | |
- | http://ugg.bootsoutlet.us.com | + | |
- | http://www.valentinoshoesoutlets.us.com | + | |
- | http://www.pandoracharmssale-clearance.us.com | + | |
- | http://www.fitflopssale.us.com | + | |
- | http://www.nfljerseyscheapwholesale.us.com | + | |
- | http://www.coach-factory-outlet.us.org | + | |
- | http://www.yeezyboost.us.com | + | |
- | http://www.thenorthface.us.com | + | |
- | http://www.2017nikeairmax.us | + | |
- | http://www.monclerjacketssale.us.com | + | |
- | http://www.supremenewyork.us.com | + | |
- | http://www.coachfactoryonlineoutlet.com.co | + | |
- | http://www.coach-factoryoutletonline.us.org | + | |
- | http://www.pandorastore.us.com | + | |
- | http://www.ralphlauren-outletpolo.us.com | + | |
- | http://www.coachoutletonlinecoachfactoryoutlet.us.com | + | |
- | http://www.coach-factoryoutlet-online.us.com | + | |
- | http://www.ugg-outlets.us | + | |
- | http://www.canadagoosejacketscoats.org.uk | + | |
- | http://www.fredperrypoloshirts.us | + | |
- | http://www.adidascampusshoes.us | + | |
- | http://www.coachoutletmalls.us.com | + | |
- | http://www.canadagoosejackets-outlet.us | + | |
- | http://wwwmonclerjacketsuk.com.co | + | |
- | http://www.ugg-outletstores.us.com | + | |
- | http://www.ferragamo-outlet.us.com | + | |
- | http://www.adidas.us.com | + | |
- | http://www.redbottomsshoes.us.com | + | |
- | http://www.burberry.us.com | + | |
- | http://www.canadagoosejacketsofficial.us.com | + | |
- | http://www.korsmichaeloutlet.us.com | + | |
- | http://www.coachoutletsonlines.us.com | + | |
- | http://www.michael-kors-handbags.us.org | + | |
- | http://www.airjordans.us.com | + | |
- | http://www.canadagooseoutletjackets.us.com | + | |
- | http://www.supreme-clothing.us.com | + | |
- | http://www.uggsbootscanada.ca | + | |
- | http://www.pandora-jewelryoutlet.us.com | + | |
- | http://www.longchamphandbagsuk.org.uk | + | |
- | http://www.coachfactory-outletstore.us.com | + | |
- | http://www.poloralphlaurenoutletpolo.us.com | + | |
- | http://www.uggoutlet-clearance.us.com | + | |
- | http://www.uggbootsoutletsale.us.com | + | |
- | http://www.northfacejacketssale.us.com | + | |
- | http://www.canadagooseoutletcanada.com.co | + | |
- | http://www.columbiasportswear.us.com | + | |
- | http://www.canadagoosesoutlet.ca | + | |
- | http://www.canadagooseoutletjackets.ca | + | |
- | http://www.coachoutletstoreonlineclearances.in.net | + | |
- | http://www.burberryoutletsale.com.co | + | |
- | http://www.cheapuggssale.com.co | + | |
- | http://www.mulberryoutlet.org.uk | + | |
- | http://www.coach-outlets.us.com | + | |
- | http://www.hermesbag.us.com | + | |
- | http://www.yeezyboost-350.co.uk | + | |
- | http://www.northfaceoutlet.us.com | + | |
- | http://www.supremeclothing.org.uk | + | |
- | http://www.uggsoutlets.name | + | |
- | http://www.adidas-yeezyboost.us.com | + | |
- | http://www.coachfactory-outlet.us.com | + | |
- | http://www.canadagooseoutlets.us | + | |
- | http://www.adidas-outlet.us.com | + | |
- | http://www.canadagooseclothing.us.com | + | |
- | http://www.michaelkorsoutlets.us.com | + | |
- | http://www.rayban-sunglasseoutlet.us.com | + | |
- | http://www.northfacejacketsoutlet.com.co | + | |
- | http://www.birkenstocks.us | + | |
- | http://www.philipppleinshirt.com | + | |
- | http://www.jacketscanadagoose.org.uk | + | |
- | http://www.fitflops-sale-clearance.us.com | + | |
- | http://www.cheapuggs.net.co | + | |
- | http://www.adidasoutlet.us.com | + | |
- | http://www.canadagooseoutletonlines.us | + | |
- | http://www.uggsbootsaustralia.us.com | + | |
- | http://www.coachfactoryoutletsonlines.us.com | + | |
- | http://www.coachoutlets.us.org | + | |
- | http://www.cheapuggboots.us.com | + | |
- | http://www.michael-korsoutlet.us.com | + | |
- | http://www.moncler-outlets.us.com | + | |
- | http://www.pandoracharms-uk.org.uk | + | |
- | http://www.pandoracharms.com.co | + | |
- | http://www.uggs-boots.us | + | |
- | http://www.adidasyeezyshoes.us.com | + | |
- | http://www.canadagooseoutletstores.us | + | |
- | http://www.nikeoutletonline.us.com | + | |
- | http://www.uggshoes.us.com | + | |
- | http://www.coachcanadaoutlet.ca | + | |
- | http://www.mbtshoes.name | + | |
- | http://www.pandorajewelryoutlet.in.net | + | |
- | http://www.cheapuggs-boots.us.com | + | |
- | http://www.outletcanadagooseoutlet.us.com | + | |
- | http://www.moncleroutletonlines.us.com | + | |
- | http://www.guccioutlets.us.org | + | |
- | http://www.uggoutlets.name | + | |
- | hll20180112 | + |
Current revision
Unit Testing World Wind
I would like to float a proposal to start adding Unit Testing for any new features we add to World Wind. This isnt user or tester testing, unit tests is code and classes you add to a project to test that the code you write behaves as expected and can be tested and verified by automated tools. So if you check in changes a periodic build can build *and* test the code.
The pedantic form of writing tests is to write it *before* you write the actually code. I know it sounds odd, but think about it, you *have* thought through your classes and written some stuff down, you *do* know where you are gonna start, you *aren't* making it up as you go along are you? :) Writing tests before coding makes you stay honest with yourself.
- Pros
- Writing tests makes you think about what your code does and is it as simple as possible
- Verifiable testing, CruiseControl.Net, Nant and many other tools can build and run the tests and give quick feedback about things that dont pass.
- Regessions are (hopefully) spotted quickly
- Produces better code.
- Cons
- Percieved increase in time it takes to write code. (Time spent answering questions and testing is not visible to developers)
- Extra dependancy for the build.
- Testing GUI is hard.
- Separation of concerns is hard to start doing (Large event methods - see WorldWindow.cs - _OnMouseDown)
- Tools
- Unit Testing
- TestDriven.NET
- MB.Unit
- Automated Builds
- Nant
- Cruise Control.Net
- Unit Testing