鍍金池/ 問(wèn)答/PHP/ 有PHPUnit在實(shí)際開(kāi)發(fā)項(xiàng)目中應(yīng)用的代碼實(shí)例嗎?

有PHPUnit在實(shí)際開(kāi)發(fā)項(xiàng)目中應(yīng)用的代碼實(shí)例嗎?

1.因?yàn)橐恢遍_(kāi)發(fā)過(guò)程中比較少接觸單元測(cè)試,所以不太很明白實(shí)際的應(yīng)用場(chǎng)景。這是我以前看到相對(duì)淺明點(diǎn)的單元測(cè)試實(shí)例:

class UserTest extends TestCase
{
  /**
   * 用戶登陸測(cè)試用例
   */
  public function testLogin()
  {
    $_GET['account'] = 15522634982;
    $_GET['code']    = 666666;

    $fans    = new User();
    $request = Request::instance();
    $res     = $fans->simpleLogin($request);
    // 比如code 200 是正常
    $this->assertEquals(200, $res['code']);
  }
}

2.能使用單元測(cè)試去譬如測(cè)試一條->加入購(gòu)物車->結(jié)算->支付的流程的嗎?
3.phpUnit是怎么接入到不同框架不同項(xiàng)目的,想看看有沒(méi)有示例可以給我了解一下

回答
編輯回答
乖乖噠
  1. 單元測(cè)試主要是對(duì)業(yè)務(wù)邏輯進(jìn)行測(cè)試
  2. 可以啊。單元小到一個(gè)類方法,大到一個(gè)業(yè)務(wù)塊,都可以測(cè)。但是你要明白單元測(cè)試和集成測(cè)試的區(qū)別
  3. PHPUnit獨(dú)立于任何框架,如果和框架整合的話,無(wú)非是加入一些bootstrap的東西。如果用的開(kāi)源的框架,搜一下很容易就找到框架或別人已經(jīng)實(shí)現(xiàn)好的。如果非開(kāi)源的也很好弄。

我們的項(xiàng)目里寫(xiě)了不少,但是都在內(nèi)網(wǎng)里。近期準(zhǔn)備寫(xiě)一篇總結(jié),寫(xiě)完了再把文章地址發(fā)進(jìn)來(lái)吧

2017年6月14日 00:34
編輯回答
悶騷型
  1. 單元測(cè)試更多是測(cè)試功能模塊的,底層向業(yè)務(wù)上級(jí)提供實(shí)現(xiàn)類的時(shí)候,可以一并提交單元測(cè)試
  2. 未做過(guò)相應(yīng)的工作,但是大部分框架都有根據(jù)PHPUnit所擴(kuò)展的自己的測(cè)試包
2017年2月15日 00:23