Tải bản đầy đủ (.pdf) (34 trang)

Bài 7: Kiểm thử ứng dụng tạo bởi Yii framework

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (472.94 KB, 34 trang )

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


×