亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > PHPUnit
利用PHPUnit單元測試對PHP代碼進行檢查
作者:網絡轉載 發布時間:[ 2014/1/2 13:13:06 ] 推薦標簽:PHPUnit 代碼 檢查

    這個測試使用了 PEAR 提供的 HTTP Client 模塊。我發現它比內嵌的 PHP Client URL Library(CURL)更簡單一點兒,不過也可以使用后者。

    有一個測試會檢查所返回的頁面,并判斷這個頁面是否包含 HTML。第二個測試會通過將值放到請求的 URL 中來請求計算 10 和 20 的和,然后檢查返回的頁面中的結果。

這個頁面的代碼如下所示。


清單 11. TestPage.php

<html><body><form>
<input type="text" name="a" value="<?php echo($_REQUEST['a']); ?>" /> +
<input type="text" name="b" value="<?php echo($_REQUEST['b']); ?>" /> =
<span id="result"><?php echo($_REQUEST['a']+$_REQUEST['b']); ?></span>
<br/>
<input type="submit" value="Add" />
</form></body></html>

    這個頁面相當簡單。兩個輸入域顯示了請求中提供的當前值。結果 span 顯示了這兩個值的和。<span>標記標出了所有區別:它對于用戶來說是不可見的,但是對于單元測試來說卻是可見的。因此單元測試并不需要復雜的邏輯來找到這個值。相反,它會檢索一個特定<span>標記的值。這樣當界面發生變化時,只要 span 存在,測試可以通過。

    與前面一樣,首先編寫測試用例,然后創建一個失敗版本的頁面。我們對失敗情況進行測試,然后修改頁面的內容使其可以工作。結果如下:


清單 12. 測試失敗情況,然后修改頁面

% phpunit TestPage.php
PHPUnit 2.2.1 by Sebastian Bergmann.

..

Time: 0.25711488723755

OK (2 tests)
%

這兩個測試都可以通過,這意味著測試代碼可以正常工作。

    在對這段代碼運行測試時,所有的測試都可以沒有問題地運行,這樣我們可以知道自己的代碼可以正確工作了。

不過對 HTML 前端的測試有一個缺陷:JavaScript。超文本傳輸協議(HTTP)客戶機代碼對頁面進行檢索,但是卻沒有執行 JavaScript。因此如果我們在 JavaScript. 中有很多代碼,必須創建用戶代理級的單元測試。我發現實現這種功能的佳方法是使用 Microsoft® Internet Explorer® 內嵌的自動化層功能。通過使用 PHP 編寫的 Microsoft Windows® 腳本,可以使用組件對象模型(COM)接口來控制 Internet Explorer,讓它在頁面之間進行導航,然后使用文檔對象模型(DOM)方法在執行特定用戶操作之后查找頁面中的元素。

    這是我了解的對前端 JavaScript. 代碼進行單元測試的惟一一種方法。我承認它并不容易編寫和維護,這些測試即使在對頁面稍微進行改動時也很容易遭到破壞。

編寫哪些測試以及如何編寫這些測試

在編寫測試時,我喜歡覆蓋以下情況:

所有正面測試
    這組測試可以確保所有的東西都如我們期望的一樣工作。

所有負面測試
    逐一使用這些測試,從而確保每個失效或異常情況都被測試到了。

正面序列測試
    這組測試可以確保按照正確順序的調用可以像我們期望的一樣工作。

負面序列測試
    這組測試可以確保當不按正確順序進行調用時會失敗。

負載測試
    在適當情況下,可以執行一小組測試來確定這些測試的性能在我們期望的范圍之內。例如,2,000 次調用應該在 2 秒之內完成。

資源測試
    這些測試確保應用編程接口(API)可以正確地分配并釋放資源 —— 例如,連續幾次調用打開、寫入以及關閉基于文件的 API,從而確保沒有文件依然是被打開的。

回調測試
    對于具有回調方法的 API 來說,這些測試可以確保如果沒有定義回調函數,代碼可以正常運行。另外,這些測試還可以確保在定義了回調函數但是這些回調函數操作有誤或產生異常時,代碼依然可以正常運行。

上一頁123456下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲一区二区三区香蕉 | 欧美一区=区三区 | 日本精品一区二区 | 国产在线观看一区二区三区四区 | 国产午夜在线视频 | 丝袜制服第一页 | 欧美视频第一页 | 国产爆操| 高清不卡一区二区 | 亚洲国产日韩在线观频 | 中国一级全黄的免费观看 | 黄色免费一级播放片 | 五月婷婷视频在线 | 色小说综合网 | 在线观看黄网 | 日本一区二区三区不卡在线视频 | 乱肉伦孕小说在线阅读 | 欧美日韩在线视频专区免费 | 亚洲欧洲精品成人久久曰 | 日韩亚洲欧洲在线com91tv | 毛片一级黄色 | 日比视频在线观看 | 一级做a免费视频观看网站 一男一女下面一进一出性视频 | 日本高清网站 | 免费h福利漫画网站在线 | 亚洲成人黄色网 | 欧美性群另类大交人妖 | 国产欧美日本在线观看 | 日本高清影院 | 国产在线观看成人免费视频 | 精品国产免费第一区二区 | 99视频精品全部在线播放 | 一级黄色一级片 | 日本三级香港三级人妇三级 | 黄色片大全在线观看 | 欧美日韩高清观看一区二区 | 老司机深夜福利影院 | 热热色原网址 | 男女啪啪的网站 | 天天操视频 夜夜 | 2015日韩永久免费视频播放 |