±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚÍøÂ磬±¾Îļòµ¥½éÉÜÁËYApi
×Ô¶¯»¯²âÊÔ´ó´ó¼ò»¯Á˽ӿڲâÊÔÊý¾Ý×¼±¸£¬ºÍÑéÖ¤»·½Ú£¬Ä¿Ç°È¥ÄĶù²âÊÔÍŶÓÒѾ¿ªÊ¼Ê¹Óá£
|
|
±³¾° Ô½À´Ô½¶àµÄÓ¦ÓûùÓÚǰºó¶Ë·ÖÀë¹¹½¨£¬ºó¶ËÌṩÊý¾Ý½Ó¿Ú£¬Ç°¶Ëµ÷Óýӿڷµ»Ø json Êý¾ÝäÖȾµ½ UI£¬Õâ¸öʱºò±£Ö¤ºó¶Ë½Ó¿ÚÊý¾ÝÕýÈ·ÐÔ±äµÄÓúÀ´ÓúÖØÒª£¬½Ó¿Ú²âÊÔ¾ÍÊÇÀ´½â¾öÕâ¸öÎÊÌâ¡£ºÜ¶àÍŶӣ¬½Ó¿Ú²âÊÔ¾ÍÊÇÊÖ¶¯ÔËÐнӿڣ¬ÈâÑ۱ȶԽӿڷµ»ØµÄÊý¾Ý£¬ÕâÑùµÄ²Ù×÷Á÷³ÌЧÂʵÍÏ£¬ÈÝÒ׳ö´í¡£Ê¹ÓÃ
YApi Ö»ÐèÒªÔÚ¿ÉÊÓ»¯ GUI Ï£¬ÅäÖÃÏÂÿ¸ö½Ó¿ÚµÄÈë²ÎºÍ¶Ô RESPONSE ¶ÏÑÔ£¬¼´¿ÉʵÏÖ¶Ô½Ó¿ÚµÄ×Ô¶¯»¯²âÊÔ£¬´ó´óÌáÉýÁ˽ӿڲâÊÔµÄЧÂÊ¡£
×¼±¸¹¤×÷ Èç¹ûÄú»¹Î´²¿Êð yapi ½Ó¿Ú¹ÜÀíÆ½Ì¨£¬¿ÉÏÈȥʾÀýÕ¾µãÊÔÓá£
ÔÚ´´½¨ÍêÏîÄ¿ºÍ½Ó¿Úºó£¬ÐèÒª½øÈëµ½²âÊÔ¼¯Ò³Ã棬µ¼ÈëÐèÒª²âÊԵĽӿڡ£

»ù´¡¸ÅÄî ÐèҪѧϰµÄ»ù´¡¸ÅÄîÖ÷Òª°üº¬²âÊÔ¼¯¡¢Pre-Script ¡¢Test-Script Èý·½Ãæ¡£
²âÊÔ¼¯ ÔÚÆ½Ê±µÄ¿ª·¢¹ý³ÌÖУ¬¾³£Óöµ½µÄÒ»¸öÎÊÌâÊÇÿ´Îµ÷ÊÔ½Ó¿Ú¶¼ÐèÒªÖØÐÂÌîд²ÎÊý£¬YApi²âÊÔ¼¯Äܹ»±£´æÖ®Ç°ÌîдµÄ²ÎÊý£¬·½±ãÏ´εĵ÷ÊÔ¡£Ã¿¸öµÄÇëÇó²ÎÊý»¹¿ÉÒÔͨ¹ýÇ°ÃæÒÑÇëÇóµÄ½Ó¿ÚÊý¾Ý¶ÁÈ¡£¬»òÌîдmockËæ»ú×Ö·û´®£¬Í¨¹ýÉèÖöÏÑԽű¾ÑéÖ¤·µ»ØÊý¾ÝµÄÕýÈ·ÐÔ¡£

ÔÚ²âÊÔÁбí¿ÉÒÔ¿´µ½Ã¿¸ö²âÊÔÓÃÀýµÄ key,»¹ÓÐ ¿ªÊ¼²âÊÔ¡¢±¨¸æµÈ¹¦ÄÜ µã»÷¿ªÊ¼²âÊԻᰴÕÕ case ¶¨ÒåµÄ²ÎÊý´ÓÉÏÍùÏÂÒ»¸öÒ»¸ö½øÐвâÊÔ£¬Èç¹û˳ÐòÓÐÎÊÌ⣬¿ÉÒÔÍ϶¯µ÷Õû ²âÊÔÍê³ÉÖ®ºó£¬µã»÷±¨¸æ²é¿´¸Ã´ÎÇëÇóµÄ½á¹û
Pre-Script 
Pre-Script °üÀ¨ÇëÇó²ÎÊý´¦Àí½Å±¾ºÍÏìÓ¦Êý¾Ý´¦Àí½Å±¾Á½²¿·Ö¡£Í¨¹ý×Ô¶¨Òå js ½Å±¾·½Ê½¸Ä±äÇëÇóµÄ²ÎÊýºÍ·µ»ØµÄ
response Êý¾Ý¡£ËûµÄʹÓó¡¾°ÈçÏ£º
1.½Ó¿ÚÇëÇó²ÎÊýÐèÒª¼ÓÃܼ°·µ»Ø response ½âÃÜ
2.½Ó¿ÚÇëÇó²ÎÊýÐèÒªÌí¼Ó¼ÆËã token
ÇëÇó²ÎÊý´¦Àí½Å±¾Ê¾Àý ÒÔ jquery ajax ΪÀý£¬¼ÙÉ赱ǰµÄÇëÇó²ÎÊýÊÇ
{
url: '/api/user?id=1',
method: 'POST',
headers: {
xxx: 'xxx'
},
data: {
type: 1
}
} |
ÄÇô¹«¹²±äÁ¿ context °üº¬ÒÔÏÂÊôÐÔ£º
context
= {
pathname: '/api/user',
query: {
id: 1
},
requestHeader: {
xxx: 'xxx'
},
method: 'POST',
requestBody: {
type:1
}
} |
¼ÙÉèÎÒÃÇÐèÒªÔÚ url Ôö¼ÓÒ»¸ö token ²ÎÊý£¬¿ÉÒÔдÈçÏÂ×Ô¶¨Òå½Å±¾£º

·µ»ØÊý¾Ý´¦Àí½Å±¾Ê¾Àý ÔÚÉÏÃæµÄʾÀýÇëÇóÍê³Éºó£¬¼ÙÉè·µ»Ø responseBody={a:1},¹«¹²±äÁ¿ context °üº¬ÒÔÏÂÊôÐÔ£º
context
= {
pathname: '/api/user',
query: {
id: 1
},
requestHeader: {
xxx: 'xxx'
},
method: 'POST',
requestBody: {
type:1
},
responseData: {
a:1
},
responseHeader: {
content-type: 'application/json'
...
}
} |
¼ÙÉèÎÒÃÇÐèÒªÐÞ¸ÄÏìÓ¦Êý¾Ý responseBody a µÄֵΪ 2£¬¿ÉÒÔÌîдÈçÏÂ×Ô¶¨Òå½Å±¾£º

Test-Script (²âÊԽű¾)

ͨ¹ý×Ô¶¨Òå½Å±¾¶ÏÑÔ½Ó¿Ú²ÎÊý»ò·µ»Ø response Êý¾Ý£¬ÔÚ½Ó¿ÚÓÃÀýÒ³Ãæµã»÷ Test ±à¼¡£
Ö§³ÖµÄ¹«¹²±äÁ¿ 1.assert assert(value) ÅÐ¶Ï value ÊÇ·ñΪ truth, ÀýÈç assert(1) ͨ¹ý£¬ assert(0) ²»Í¨¹ý£¬Ö»Òª
value ²»ÊÇ null, 0, falseµÈÖµÑé֤ͨ¹ý
assert.equal(actual, expected) ÅÐ¶Ï actual ÊÇ·ñµÈÓÚ expected£¬ÀýÈç assert(1, 1)ͨ¹ý
assert.notEqual(actual, expected) ÅÐ¶Ï actual ÊÇ·ñ²»µÈÓÚ expected
assert.deepEqual(actual, expected) ¼ÙÉ裺 actual = {a:1} ÊÇÒ»¸ö¶ÔÏ󣬼´±ã expected = {a:1}£¬Èç¹ûʹÓÃ
assert.equal ¿ÉÄÜÒ²ÊDz»ÏàµÈµÄ£¬ÒòΪÔÚ js ÒýÓõÄÖ»ÊǶÔÏóµÄÒ»¸öÖ¸Õ룬ÐèҪʹÓà assert.deepEqual
±È½ÏÁ½¸ö¶ÔÏóÊÇ·ñÏàµÈ
assert.notDeepEaual(actual, expected) Éî¶È±È½ÏÁ½¸ö¶ÔÏóÊÇ·ñ²»ÏàµÈ
2.status http ״̬Âë
3.params http request params, ºÏ²¢ÁË query ºÍ body
4.body ·µ»Ø response body
5.header ·µ»Ø response header
6.records ¼Ç¼µÄ http ÇëÇóÐÅÏ¢£¬¼ÙÉèÐèÒª»ñÈ¡ key Ϊ 555 µÄ½Ó¿Ú²ÎÊý»òÕßÏìÓ¦Êý¾Ý£¬¿Éͨ¹ý records[555].params
»ò records[555].body »ñÈ¡
7.log log£¨message£© º¯Êý,µ÷ÊÔʱʹÓã¬log ÐÅÏ¢½ö½öÔÚ¶ÏÑÔʧ°Üºó´òÓ¡
ʾÀý
assert.equal(body.errcode,
0)
assert.equal(body.data.group_name, 'testGroup')
assert.equal(status, 200) |
¿ªÊ¼²âÊÔ µÚÒ»²½£ºÅäÖòÎÊý YApi ³ýÁËÖ§³Ö³£Á¿×Ö·û´®Í⣬»¹Ö§³Ö mock Ëæ»ú×Ö·û´®ºÍ±äÁ¿×Ö·û´®¡£
Mock²ÎÊý Mock ²ÎÊýÿ´ÎÇëÇó¶¼»áÉú³ÉËæ»ú×Ö·û´®,Ö§³Ö mockjs ËùÓÐռλ·û

±äÁ¿²ÎÊý YApi ÌṩÁËÇ¿´óµÄ±äÁ¿²ÎÊý¹¦ÄÜ£¬Äã¿ÉÒÔÔÚ²âÊÔµÄʱºòʹÓÃÇ°Ãæ½Ó¿ÚµÄ ²ÎÊý »ò ·µ»ØÖµ ×÷Ϊ ºóÃæ½Ó¿ÚµÄ²ÎÊý£¬¼´Ê¹½Ó¿ÚÖ®¼ä´æÔÚÒÀÀµ£¬Ò²¿ÉÒÔÇáËÉ
Ò»¼ü²âÊÔ~
¸ñʽ£º
$.{key}.{params|body}.{path} |
ÀýÈ磺ÏÖÓÐÁ½¸ö½Ó¿Ú£¬·Ö±ðÊÇ¡°µ¼º½±êÌ⡱ºÍ¡°ÎÄÕÂÁÐ±í¡±

ÎÄÕÂÁбí½Ó¿ÚÐèÒª´«²ÎÊý: µ±Ç°±êÌâ(id)£¬¶øÕâ¸ö id ÐèҪͨ¹ý µ¼º½±êÌ⠵ķµ»ØÖµ»ñÈ¡£¬ÕâʱӦÔÚ
ÎÄÕÂÁÐ±í µÄ²ÎÊýÊäÈë¿òÖиù¾ÝǰÕßµÄ key ÕÒµ½¶ÔÓ¦ id¡£
µ¼º½±êÌ⠵IJÎÊýºÍ·µ»ØÖµÓÐÈçϽṹ£º
²ÎÊý£º

·µ»ØÖµ£º

Ôò ÎÄÕÂÁÐ±í µÄ²ÎÊý¿ÉÒÔÈçÏÂÅäÖãº

ÆäÖÐ [Math Processing Error].269.params ¼´±íʾ key ֵΪ 269
ÓÃÀýµÄÇëÇó²ÎÊý£¬$.269.body** ¼´±íʾ key ֵΪ 269 ÓÃÀýµÄ·µ»ØÖµ¡£
Tips: ÉÏÏÂÍ϶¯²âÊÔ¼¯ºÏµÄÁбíÏî¿ÉÒÔµ÷Õû²âÊÔµÄ˳Ðò¡£ ĿǰyapiÖеÄquery£¬body,headerºÍpathParamµÄÊäÈë²ÎÊýÒѾ֧³Öµã»÷Ñ¡Ôñ¹¦ÄÜ¡£ÎÞÐè×Ô¼ºÌîд±í´ïʽ£¬Ö»ÐèÔÚµ¯´°ÖÐÑ¡ÔñÐèҪչʾµÄ±í´ïʽ¼´¿É¡£
ÊäÈëÑ¡Ïî°üÀ¨³£Á¿£¬mockÊý¾Ý£¬ÔÚ²âÊÔ¼¯ºÏÖÐÒ²Ö§³Ö±äÁ¿Ñ¡Ôñ¡£ ¾ßÌåÓ÷¨£ºµ¥»÷±à¼°´Å¥´ò¿ª±í´ïʽÉú³ÉÆ÷£¬µã»÷ÐèÒªµÄÊý¾Ý´´½¨±í´ïʽ£¬ÕâÀïÒ²¿ÉÒÔʵʱ²é¿´±í´ïʽ½á¹û¡£

µÚ¶þ²½£º¿ªÊ¼²âÊÔ

ºó¼Ç£º YApi ×Ô¶¯»¯²âÊÔ´ó´ó¼ò»¯Á˽ӿڲâÊÔÊý¾Ý×¼±¸£¬ºÍÑéÖ¤»·½Ú£¬Ä¿Ç°È¥ÄĶù²âÊÔÍŶÓÒѾ¿ªÊ¼Ê¹Óá£Î´À´ YApi
½«»á³ÖÐøÓÅ»¯×Ô¶¯»¯²âÊÔ¹¦ÄÜ£¬Ï£Íû´ó¼ÒÌá³ö´ó¼Ò±¦¹óµÄÒâ¼û¡£
|