ugrás a tartalomhoz

Php - Unit test, telepítgetés nélküli

inf · 2011. Dec. 9. (P), 13.03
Sziasztok!

Van egy IIS-en több virtualHost-om eltérő php verziókkal. Minden virtualHost-hoz tartozik egy-egy php projekt, amiket netBeans-szel tákolgatok. A problémám az, hogy nem látok esélyt arra, hogy én mindegyikhez feltegyem a phpUnit-ot úgy, hogy azt a netBeans-ben használni is tudjam. Ugye ott csak egy phpUnit bat fájlt lehet beállítani, na most akkor az csak egy php verzió alatt futna, amit kizárt, hogy bevállalok... Ezért keresek phpUnit helyett valami használható unit test kódot, amivel többek között nem kell PEAR installerrel szerencsétlenkedni, meg elég minden egyes projekthez bemásolni, esetleg include path-t beállítani hogy működjön. Mit tudtok ajánlani?
 
1

én őszinte leszek soha nem

Karvaly84 · 2011. Dec. 9. (P), 13.28
én őszinte leszek soha nem használtam egyet sem, de itt a wl-en a közelmúltban megjelent egy 2 részes cikk aminek az első részében volt egy wiki hivatkozás: list of unit testing frameworks itt rengeteg nyelvhez találsz a link a php-hoz ugrik.
2

Hidd el, én is tudok találni

inf · 2011. Dec. 9. (P), 13.37
Hidd el, én is tudok találni :D A kérdés inkább arra irányult, hogy ti milyet használtok, melyik vált be?
No majd még keresgélek, meg nézegetem a forrásukat, nagyon nem szeretnék sajátot írni...
3

Állíttasd be a netbeansszel

tgr · 2011. Dec. 9. (P), 22.18
Állíttasd be a netbeansszel egy környezeti változóba az aktuálisan használt PHP elérési útját, és a bat fájl hivatkozzon arra. Egyébként miért nem elég a PHPUnitot minden egyes projekthez bemásolni? (Vagy még azt se, csak minden projekthez ugyanonnan beincude-olni?)
5

Állíttasd be a netbeansszel

inf · 2011. Dec. 9. (P), 23.28
Állíttasd be a netbeansszel egy környezeti változóba az aktuálisan használt PHP elérési útját, és a bat fájl hivatkozzon arra.

Na ez érdekel. Szóval elvileg lehetséges projektenként külön phpunit-ot használni anélkül, hogy minden alkalommal állítani kéne a netbeans-en?
9

Nem használok netbeanst, de

tgr · 2011. Dec. 10. (Szo), 18.03
Nem használok netbeanst, de minden komoly IDE-ben vannak projektspecifikus beállítások. A phpunit a PHPBIN környezeti változót használja (windows alatt, gondolom linuxon is van megfelelője), csak azt kell átállítgatni. Másrészt a phpunit parancsfájl semmi mást nem csinál, csak betölti és meghívja a PHPUnit_TextUI_Command osztályt, amit megtehetsz kézzel is egy két soros scriptben, és akkor végképp rajtad áll, milyen PHP környezetben futtatod.
4

local pear installation

janoszen · 2011. Dec. 9. (P), 23.16
Csinálsz egy lokális PEAR telepítést a projekted mellé, opcionálisan betolod valami repóba. Én személy szerint szoktam a gépemre tenni egy PEAR-t a PHPUnitnak és akkor ezzel el van intézve. Csak egyszer kell megcsinálni.
6

Elvileg van neki git-je,

inf · 2011. Dec. 9. (P), 23.31
Elvileg van neki git-je, onnan le lehet rántani a különböző verziókhoz, viszont annak még nem néztem utána, hogy mit kell konfigolni így manuálisan hozzá, hogy el is induljon. Ha nem tudom használni netbeans-szel úgy, hogy projektenként a megfelelő php verzióval fusson, akkor úgyis mindegy.
7

Jut eszembe, hogy én az

Karvaly84 · 2011. Dec. 9. (P), 23.50
Jut eszembe, hogy én az Eclipse-embe sok mindenre az Apache Ant build tool eszközét használom. Úgy tudom a Netbeans is támogatja az Ant-ot vagy a Maven-t, ezekhez az eszközökhöz léteznek olyan kiegészítések amik lefuttatják a teszteket. Lehet hogy ezekkel sikerülne áthidalni a problémákat.
8

Igen, mindkettőhöz van

inf · 2011. Dec. 10. (Szo), 00.01
Igen, mindkettőhöz van plugin. Hmm igazából még nem próbáltam ki, hogy a netbeans-be épített phpUnit kezelő mennyire jó (azt írták róla, hogy az), lehet ezzel kellett volna kezdeni inkább, és csak akkor elgondolkodni ilyesmin, ha tényleg bevált. A maven-nel egyébként is meg akartam ismerkedni, de csak két ünnep között, amikor lesz időm ilyesmire... Egyelőre kíváncsi vagyok, hogy az a környezeti változós dolog, amit mások írtak működhet e.
10

Működik

janoszen · 2011. Dec. 10. (Szo), 21.32
Mind a PHPUnit, mint az Ant működik NetBeans alól, aktívan használom őket. Az Anthoz annyi kell a Java is, hiába nem dependencia. Anélkül csomó funkció nem létezik hozzá.
11

És az Ant alól alapból

Karvaly84 · 2011. Dec. 10. (Szo), 22.50
És az Ant alól alapból elérhetőek a környezeti változók, de szerintem a Maven is képes ilyenre, mondjuk a Maven nekem nem jött be, könnyebb az Ant-al bütykölni, de lehet csak nekem. Minden esetre bármire idomítható a cuccos. És a Javanak hála konzisztensen működik minden platformon.
12

Most nézegetem a környezeti

inf · 2011. Dec. 11. (V), 00.31
Most nézegetem a környezeti változók állítását, de nem sokat találtam. Elvileg "x=1\n export x\n "-el lehet állítani command line. Vannak project config fájljaim, amikben viszont csak simán "x=1"-ként vannak bent dolgok. Nem vagyok biztos benne, hogy azok környezeti változók, de amint sikerül belőnöm a phpunit-ot enélkül megnézem, hogy működik e a PHPBIN beállítása ezekkel a config fájlokkal.

Az a helyzet, hogy először a phpUnit-tal ismerkednék, az Ant meg Maven meg ilyesmi meg már tényleg túl távol van attól, amit pár napon belül meg akarok tanulni...
13

Pl. Linuxon beírsz egy

Karvaly84 · 2011. Dec. 11. (V), 01.17
Pl. Linuxon beírsz egy ilyesmit:
export PHP_UNIT=home/user/lib/nem_tudom_mi_a_php_unit_felepeitese/main_class_vagy_valami

ezután ant-ba, a projekt fájlba
<property environment="env"/>

és ezek után a projekten belül a xml-ben pl így tudsz rá hivatkozni
<valami-plugin dir="${env.PHP_UNIT}" />
14

Oké, itt csak két dolog

inf · 2011. Dec. 11. (V), 02.06
Oké, itt csak két dolog hibádzik, az egyik, hogy win7 64bit-en vagyok és nem linuxon, a másik, hogy nem akarok beírni semmit, azt szeretném, hogy rákattintok a projekt nevére, vagy a projekt egy fájljánál a netbeans-ben rámegyek arra, hogy tools -> create PHPUnit tests és csináljon nekem teszteket, és tudjak teszteket futtatni ugyanazzal a php verzióval és beállítással, mint amivel az IIS-en megy az aktuális projekt.

Találtam egy ilyet, szóval elvileg pear nélkül is mennie kéne. Elvileg a git ugyanazt rántja le, mint amit a pear installer, szóval azzal is ugyanott lennék. A php.ini-ben beállítottam az include path-hez mindegyik mappát. Próbáltam relative path-el, absolute path-el átírni az útvonalakat a phpunit.bat-ban, de nem reagált semmire. És akkor mégcsak meg sem próbáltam projekt specifikusan állíttatni az útvonalakat, vagy neadjisten relatívan a projektben lévő php-hez vagy a netbeans projekt mappájához képest (mert úgy az igazi...)

szerk: Közben kijött, hogy az a kínja, hogy szóköz van az egyik mappa nevében. Őszintén szólva ez már annyira szánalmas, hogy inkább lefekszem aludni. Azt hiszem jobban teszem, ha inkább elképzelem, hogy működik a unit test, és ennyi :D
15

No aludtam rá egyet.Ha most

inf · 2011. Dec. 11. (V), 13.51
No aludtam rá egyet.

Ha most nem jön össze, akkor majd jövőre kipróbálom Ant-tal, addig biztos nem lesz időm rá.
Közben megtaláltam, hogy a netbeans-szel a környezeti változókat a projekt private xml fájljában kell beállítani valahogy így:

<environment>
	<variable name="PHPBIN" value="..."/>
</environment>
A relatív útvonal szerintem esélytelen, az abszolút útvonalat majd megpróbálom. Egyelőre még kikeresem hogyan kell DOS-os nevekre konvertálni a szóközöseket.

Nem biztos, hogy a fenti módon megy a PHPBIN beállítása, a my computer / properties / advanced / env variables alatt biztosan be lehet állítani, ott nem is kell DOS-os útvonal, simán megy szóközzel.
16

Kiderült, hogy nincs olyan,

inf · 2011. Dec. 11. (V), 17.55
Kiderült, hogy nincs olyan, hogy portable phpunit, mindenképp kell neki a PEAR. Ezek után nem tudom minek teszik ki, ha egyszer nem működik... Most PEAR-rel próbálom feltenni, de halott a phpunit.de szerver... Gyakorlatilag eddig ezzel a phpUnit-tal kapcsolatban minden arra mutatott, hogy hagyjam a fenébe az egészet. És azt hiszem ez is lesz a vége. Rászántam egy napot, nem sikerült egy tesztet sem írnom ennyi idő alatt, kipróbálom a simpleTest-et helyette, azt talán lehetséges telepíteni mindenféle gond nélkül.