You are on page 1of 3

TM HIU V B CNG C KIM TH T NG JUNIT TRONG JAVA -------------------------------------------------------I. GII THIU V JUNIT TRONG JAVA: 1.1. JUnit l g?

JUnit l mt framework c dng cho Unit Test trong Java. JUnit c xy dng bi Erich Gamma v Kent Beck, hai ngi ni ting nht v lp trnh XP. 1.2. Li ch khi s dng JUnit JUnit trnh cho ngi lp trnh phi lm i lm li nhng vic kim th nhm chn bng cch tch bit m kim th ra khi m chng trnh, ng thi t ng ha vic t chc v thi hnh cc b s liu kim th. Thot tin, khi s dng JUnit, ta c th c cm gic l JUnit ch lm mt thm thi gian cho vic kim th: Thay v phi vit thm cc lp v phng thc mi phc v cho cng tc kim th, ta c th son nhanh mt b s liu ri vit ngay vo trong phng thc main() v quan st ngay kt qu kim th. V qu trnh son s liu v qu trnh kim th din ra ng thi, nn ta s d dng nhn bit c ngay chng trnh chy ng trn b s liu kim th hay khng, m khng cn nhn vo tn hiu xanh m JUnit c th h tr. Nhng khi t chc li chng trnh cho hp l hn (refactoring) hoc khi phi thay i chng trnh phc v cho nhu cu mi, cc b s liu kim th trc y s cn c s dng li chc chn rng nhng thay i trong chng trnh khng lm phng hi n nhng thnh qu trc , lc ny ta s phi mt thi gian tm hiu li xem b s liu trc y s tng ng vi kt xut g v ta khng th nh ht mi hot ng kim th din ra. Vic nh li nhng kim th qua s chng th v v khng em n cho ta iu g mi. Nu phi kim th trn nhng b s liu ln th gnh nng ca vic t chc kim th s chng cht thm.

JUnit gip ngi lp trnh t ng ha cc cng vic nhm chn, v ch cn nhn thy tn hiu xanh l ngi lp trnh c th an tm rng module c lp trnh ng. II. CC PHNG THC TRONG JUNIT 1. ASSERTXXX() Cc phng thc dng assertXXX() c dng kim tra cc iu kin khc nhau. Di y l m t cc phng thc assertXXX() khc nhau c trong lp junit.framework.Assert. - Boolean assertEquals(): So snh hai gi tr kim tra bng nhau. Php th tht bi nu hai gi tr khng bng nhau. - Boolean assertFalse(): nh gi biu thc logic. Php th tht bi nu biu thc ng. - Boolean assertNotNull(): So snh tham chiu ca mt i tng vi Null. Php th tht bi nu tham chiu i tng Null. - Boolean assertNotSame(): So snh a ch vng nh ca hai tham chiu hai i tng bng cch s dng ton t ==. Php th tht bi tr v nu c hai u tham chiu n cng mt i tng. - Boolean assertNull(): So snh tham chiu ca mt i tng vi gi tr Null. Php th tht bi nu i tng khng l Null. - Boolean assertSame(): So snh a ch vng nh ca hai tham chiu i tng bng cch s dng ton t ==. Php th tht bi nu c hai khng tham chiu n cng mt i tng. - Boolean assertTrue(): nh gi mt biu thc logic. Php th tht bi nu biu thc sai. void fail(): Phng thc ny lm cho test hin ti tht bi, phng thc ny thng c s dng khi x l cc ngoi l. Chng ta c th ch s dng phng thc assertTrue()cho gn nh l hu ht cc test, tuy nhin vic s dng cc phng thc assertXXX() c th s tin li hn cho cc test ca bn trong trng hp cung cp cc thng bo m t tht bi. Tt c cc phng thc trn u nhn vo mt String khng bt buc lm tham s u tin. Khi c xc

nh, tham s ny cung cp mt message m t test tht bi. iu ny gip cho vic sa li c d dng hn. 2.
SETUP () V TEARDOWN()

Hai phng thc ny l mt phn ca lp junit.framework.TestCase. Khi s dng hai phng thc ny s gip chng ta trnh c vic trng m khi nhiu test cng chia s nhau phn khi to v dn dp cc bin. JUnit tun th theo mt dy c th t cc s kin khi chy cc test. u tin, n to ra mt th hin mi ca Test Case ng vi mi phng thc th. T , nu bn c 5 phng thc th th JUnit s to ra 5 th hin ca Test Case. V l do , cc bin th hin khng th c s dng chia s trng thi gia cc phng thc test. Sau khi to xong tt c cc i tng test case, JUnit tun theo cc bc sau cho mi phng thc test: Gi phng thc SetUp() ca test case Gi phng thc th Gi phng thc TearDown() ca test case Qu trnh ny c lp li i vi mi phng thc th trong Test Case. Thng thng chng ta c th b qua phng thc TearDown() v mi phng thc th ring khng phi l nhng tin trnh chy tn nhiu thi gian v cc i tng c thu dn khi my o Java (JVM) thot. Phng thc TearDown() c th c s dng khi test ca bn thc hin nhng thao tc nh m kt ni n c s d liu hay s dng cc loi ti nguyn khc ca h thng v bn cn phi dn dp ngay lp tc. Nu bn chy mt b bao gm mt s lng ln cc unit test th khi chng ta tr tham chiu ca cc i tng n null bn trong thn phng thc TearDown() s gip cho b dn rc ly li b nh khi cc test khc chy. III. CI T V S DNG JUNIT: 1.Ci t JUnit - JUnit c th c ti xung t a ch http://www.junit.org

You might also like