Bài 7: Ki m th
ng d ng t o b i
Yii framework
Bài 7: Ki m th trong Yii framework
M c tiêu bài h c
T ng quan v ki m th trong Yii framework
nh ngh a vi c s a l i
Ki m th
nv
Ki m th ch c n ng
Bài 7: Ki m th trong Yii framework
2
T ng quan v ki m th
Yii framework
Bài 7: Ki m th trong Yii framework
3
Ki m th là gì?
Ki m th là m t khâu quan tr ng c a phát tri n ph n m m.
Ki m th là quá trình ki m tra và s a l i cho ng d ng
C n ti n hành các ph n ki m th
t t c các th i gian khi
ang phát tri n m t ng d ng Web.
Ví d , khi vi t m t l p trong PHP, chúng ta có th s d ng
echo ho c die
ch ng minh công vi c th c hi n là chính
xác.
Khi th c hi n m t form html, chúng ta c n nh p d li u vào
các tr ng
ki m tra ho t ng c a form là chính xác.
Bài 7: Ki m th trong Yii framework
4
Ki m th TDD (Test-Driven Development)?
T o m t bài test v i tính n ng
c cài t. Bài test c n
ch ra tr ng h p có th gây ra th t b i do tính n ng ch a
làm xong
Ch y m t s các bài test và ch c ch n r ng bài test s
làm ch c n ng không th v t qua
Vi t code ch c n ng m b o v t qua bài test
Ch y t t c các bài test và m b o r ng t t c
u pass
C u trúc l i các mã
c vi t m i và ch c ch n r ng các
bài ki m tra v n v t qua.
Bài 7: Ki m th trong Yii framework
5
Ki m th môi tr
Khi s d ng yiic
m c testdriver
ng cài
t
gen code, chúng ta c n ki m tra th
Bài 7: Ki m th trong Yii framework
6
Ki m th môi tr
ng cài
t
th c hi n test, ta dùng các câu l nh sau trong màn
hình console
ây ta s d ng l nh %phpunit
ph n test cho ch c n ng
th c thi t t c các
Bài 7: Ki m th trong Yii framework
7
Ki m th k ch b n bootstrap
Chúng ta hãy xem t p tin bootstrap.php. ây là t p tin
c bi t vì nó gi ng nh nh ng k ch b n th c th và là
i m b t u khi th c thi bài test
Trong o n code trên chúng ta include file yiit.php.
là file ch a các h ng s toàn c c ph c v bài test
ây
Bài 7: Ki m th trong Yii framework
8
Ki m th k ch b n bootstrap
Ví d :
ki m tra ph n k t n i c s d li u, ta enable o n
code ‘db’ file WebRoot/testdrive/protected/config/main.php
=>array nh sau:
K t qu là:
Bài 7: Ki m th trong Yii framework
9
nh ngh a s a l i
Yii framework
Bài 7: Ki m th trong Yii framework 10
nh ngh a s a l i?
Ki m tra t
ng c n ph i
c th c hi n nhi u l n
nh m m b o quá trình ki m th
c l p l i.
Ví d ,
ki m tra các tính n ng m i trong m t ng d ng
blog, m i khi chúng ta ch y th nghi m, các b ng l u tr
d li u có liên quan n bài vi t c n
c ph c h i m t
s tr ng thái c
nh.
Do ó c n thi t l p vi c s a l i trong các b ng d li u.
ây là công vi c khá t n th i gian.
Yii gi i thi u thành ph n CDbFixtureManager
qu n lý
vi c s a l i.
Bài 7: Ki m th trong Yii framework 11
nh ngh a s a l i?
s d ng CDbFixtureManager, ta c u hình
nh sau:
ng d ng
Chúng ta có th xem ph n s a l i trong th m c:
• protected/tests/fixtures
Bài 7: Ki m th trong Yii framework 12
nh ngh a s a l i?
s a l i cho b ng d li u thì tên t p tin c n gi ng nh
tên b ng.
Ví d sau mô t ph n s a l i c a b ng Post trong file
Post.php
Bài 7: Ki m th trong Yii framework 13
Ki m th
nv
Yii framework
Bài 7: Ki m th trong Yii framework 14
Ki m th
nv?
Các nguyên t c c b n v ki m th
nv:
•M t
n v ki m th
c vi t là m t l p XyzTest, k
th a t CTestCase ho c CDbTestCase
•Các n v ki m th
c l u file v i tên là XyzTest.php
và l u trong th m c protected/tests/unit.
•Các l p ki m th ch y u là ch a m t t p h p các
ph ng pháp th nghi m có tên là testAbc
•M t ph ng pháp ki m th thông th ng có ch a m t
chu i các báo cáo kh ng nh s ph c v nh là các
tr m ki m soát trên c s xác nh n hành vi c a các l p
m c tiêu.
Bài 7: Ki m th trong Yii framework 15
Ki m th
nv?
Ti p theo, chúng ta vi t ph ng pháp testApprove
ki m tra và phê duy t ph ng th c trong l p model.
Mã này là r t n gi n:
•Tr c tiên chúng ta chèn m t chú thích ang ch tr ng
thái;
•Sau ó chúng ta l y nó t c s d li u;
•Và cu i cùng chúng ta xác minh s thay
i phù h p
v i mong i.
Bài 7: Ki m th trong Yii framework 16
Ki m th
nv?
.
Bài 7: Ki m th trong Yii framework 17
Ki m th ch c n ng
Yii framework
Bài 7: Ki m th trong Yii framework 18
Ki m th ch c n ng?
File test s có tên là XyzTest k th a t CWebTestCase
File XyzTest.php n m trong th m c:
• protected/tests/functional
Chúng ta c n vi t test cho m i ph ng th c tr c khi
ch y
Thông th ng chúng ta thi t l p URL cho ng d ng
ki m tra xem file nào
cg i
Bài 7: Ki m th trong Yii framework 19
Ki m th ch c n ng?
Ví d :
Bài 7: Ki m th trong Yii framework 20
Ki m th ch c n ng?
Ví d : Xác minh post title c a trang web
Ví d : Xác minh s t n t i c a comment
Bài 7: Ki m th trong Yii framework 21
Qu n lý URL
Yii framework
Bài 7: Ki m th trong Yii framework 22
Qu n lý URL?
Qu n lý URL thông qua 2 b c sau:
•Khi m t yêu c u ng i s d ng g i qua URL, ng d ng
c n ph i phân tích và a vào các tham s .
• ng d ng này c n cung c p m t cách t o URL
các
URL
c t o ra có th hi u b i các ng d ng.
Ví d : T o URL ta c n dùng hàm createUrl
Url s nh sau:
•/index.php?r=post/read&id=100
Bài 7: Ki m th trong Yii framework 23
Qu n lý URL?
Theo ví d trên, ta có th vi t URL theo ki u thân thi n
nh sau:
•/index.php/post/read/id/100
n file index.php: Ta c n config trong file:
• /wwwroot/blog/.htaccess
Bài 7: Ki m th trong Yii framework 24
B om t
Yii framework
Bài 7: Ki m th trong Yii framework 25