Skip to content

Instantly share code, notes, and snippets.

@mpartel
Created November 24, 2012 19:11
Show Gist options
  • Save mpartel/4141053 to your computer and use it in GitHub Desktop.
Save mpartel/4141053 to your computer and use it in GitHub Desktop.
Profiloijan käppyröiden integrointi TMC:hen

Halutaan, että testien kirjoittajan ei tarvitse sanoa muuta kuin että "tästä tehdään graafi". Kirjasto olkoon muulla tavoin konffattava sen suhteen, mihin graafi menee ja miten se näytetään.

Ehdotan, että profilointikirjasto ei oletuksena tee graafeille mitään. Jos ympäristömuuttuja (nimeltään esim.) PROFILER_VISUALIZATIONS_TO_FILE=tiedostonimi on asetettu, data tallennetaan tuohon tiedostoon.

Jos ympäristömuuttuja PROFILER_VISUALIZATIONS_SHOW=1 on asetettu, testi pysähtyköön ja näyttäköön graafin. Jälkimmäinen olisi hyvä lähinnä kirjaston tai testien debuggaamiseen, mutta se olisi normaalitapauksessa pois päältä. Vaihtoehtoisesti kirjastossa voi olla metodin versio tai parametri, joka pakottaa näyttämään graafin heti.

Siirretään graafien näyttämislogiikka omaan kirjastoonsa, johon on pääkirjastosta riippuvuus. TMC:n NB-plugini käyttää näyttämiskirjastoa ja asettaa tiedostoontallennusympäristömuuttujan. Näyttämiskirjastossa olkoon tapa saada testiluokan ja testimetodin perusteella lista graafeista, jotka silloin piirrettiin. Jokaisesta graafista taas voi kirjastoa pyytää luomaan JPanelin, jonka TMC voi näyttää NB:ssä halutessaan joko ikkunassa tai jotenkin embeddattuna. Näin myös graafien selailukäli jää TMC:n huoleksi. Bonusta toki olisi, jos kirjasto tarjoaisi myös tavan tehdä listasta graafeja JPanelin, jossa on selailunapit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment