成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

codeception (7) 危險(xiǎn)的Yii2-codeception

ZHAO_ / 2651人閱讀

摘要:前言忽然想起之前用時(shí)讓我膽戰(zhàn)心驚的那刻,那天我在測(cè)試服務(wù)器上研究著,忽然同事大叫,怎么用戶表被清空了,我當(dāng)時(shí)覺(jué)得跟自己沒(méi)關(guān),但想起我今天剛把的配置更改了,鏈接到了測(cè)試數(shù)據(jù)庫(kù)上,并且運(yùn)行過(guò)里面自帶的登陸案例,但運(yùn)行結(jié)果是失敗的,我覺(jué)得很有可能

前言

忽然想起之前用codecetion時(shí)讓我膽戰(zhàn)心驚的那刻,那天我在測(cè)試服務(wù)器上研究著codeception,忽然同事大叫,怎么用戶表被清空了,我當(dāng)時(shí)覺(jué)得跟自己沒(méi)關(guān),但想起我今天剛把codeception的config配置更改了,鏈接到了測(cè)試數(shù)據(jù)庫(kù)上,并且運(yùn)行過(guò)里面自帶的登陸案例,但運(yùn)行結(jié)果是失敗的,我覺(jué)得很有可能是我捅的簍子,所以我就開(kāi)始找代碼,結(jié)果真的是我干的。

怎么找到的

用戶表只剩一條數(shù)據(jù),就是運(yùn)行codeception時(shí)加的,我根據(jù)里面的數(shù)據(jù)找到了存放數(shù)據(jù)的文件

testscodeceptioncommonunitfixturesdatamodelsuser.php

    return [
        [
            "username" => "bayer.hudson",
            "auth_key" => "HP187Mvq7Mmm3CTU80dLkGmni_FUH_lR",
            //password_0
            "password_hash" => "$2y$13$EjaPFBnZOQsHdGuHI.xvhuDp1fHpo8hKRSk6yshqa9c5EG8s3C3lO",
            "password_reset_token" => "ExzkCOaYc1L8IOBs4wdTGGbgNiG3Wz1I_1402312317",
            "created_at" => "1402312317",
            "updated_at" => "1402312317",
            "email" => "[email protected]",
        ],
    ];
怎么解決的

注釋掉這個(gè)方法中的數(shù)據(jù)

namespace testscodeceptionfrontendunitmodels;
class SignupFormTest extends DbTestCase
{
public function fixtures()
    {
        return [
            /*"user" => [
                "class" => UserFixture::className(),
                "dataFile" => "@tests/codeception/frontend/unit/fixtures/data/models/user.php",
            ],*/
        ];
    }
}

重新運(yùn)行了了一下單元測(cè)試SignupFormTest ,這次數(shù)據(jù)沒(méi)有被刪除掉

危險(xiǎn)原因

我研究了一下被刪除的原因,找到了框架底層的代碼

namespace yii	est;
class ActiveFixture extends BaseActiveFixture
{
  public function load()
  {
    $this->resetTable();
    $this->data = [];
    $table = $this->getTableSchema();
    foreach ($this->getData() as $alias => $row) {
        $primaryKeys = $this->db->schema->insert($table->fullName, $row);
        $this->data[$alias] = array_merge($row, $primaryKeys);
    }
  }
  protected function resetTable()
  {
    $table = $this->getTableSchema();
    $this->db->createCommand()->delete($table->fullName)->execute();
    if ($table->sequenceName !== null) {
        $this->db->createCommand()->resetSequence($table->fullName, 1)->execute();
    }
  }
}

就是這個(gè)resetTable方法把數(shù)據(jù)給清空了,所以大家還是慎重使用Fixture,雖然是測(cè)試服務(wù)器,但是里面的數(shù)據(jù)也是非常重要的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30528.html

相關(guān)文章

  • YII2.0 codeception 一點(diǎn)經(jīng)驗(yàn)

    摘要:測(cè)試驅(qū)動(dòng)的安裝我就不寫(xiě)了,這里有詳細(xì)說(shuō)明。然后在命令提示符里執(zhí)行命令重構(gòu)一下記住測(cè)試驅(qū)動(dòng)里代碼發(fā)生改變都需要重構(gòu)一下不然會(huì)報(bào)錯(cuò)。在執(zhí)行命令進(jìn)行測(cè)試執(zhí)行了個(gè)測(cè)試驅(qū)動(dòng)個(gè)斷言全部成功以上只是我的一些經(jīng)驗(yàn)代碼不一定對(duì)希望對(duì)大家有幫助 測(cè)試驅(qū)動(dòng) codeception 的安裝我就不寫(xiě)了,http://www.kkh86.com/it/codec... 這里有詳細(xì)說(shuō)明。 我就說(shuō)一下我的測(cè)試。 首先...

    chaosx110 評(píng)論0 收藏0
  • 使用Codeception進(jìn)行Yii2單元測(cè)試(一)安裝以及簡(jiǎn)介篇

    摘要:一簡(jiǎn)介作為工程師,我們很可能遇到一些有必要的進(jìn)行單元測(cè)試的場(chǎng)景。本系列文章就來(lái)介紹下,在框架下,如何使用進(jìn)行單元測(cè)試。 一、簡(jiǎn)介 作為php工程師,我們很可能遇到一些有必要的進(jìn)行單元測(cè)試的場(chǎng)景。本系列文章就來(lái)介紹下,在Yii2框架下,如何使用Codeception進(jìn)行單元測(cè)試。本篇就首先介紹Yii2,以及Codeception的安裝。 二、Yii2和codeception安裝 安裝Yi...

    dabai 評(píng)論0 收藏0
  • codeception (6) Yii2中安裝codeception時(shí)遇到問(wèn)題及解決方法

    摘要:版本這個(gè)原因是因?yàn)榻昧撕瘮?shù),所以我們需要更改找到的配置文件輸入命令會(huì)出現(xiàn)兩個(gè)相關(guān)的地址配置文件在中找到,打開(kāi)之后搜索將去掉,保存處理這個(gè)問(wèn)題有兩種方式,第一種是修改在中加上,應(yīng)該是禁用的意思還有一種方式就是將升級(jí)到以上,這個(gè)錯(cuò)誤就不會(huì)出現(xiàn) codeception版本 v2.1.8 shell_exec PHP Warning: shell_exec() has been disabl...

    Lionad-Morotar 評(píng)論0 收藏0
  • Yii修行之路 - Extension 擴(kuò)展

    摘要:運(yùn)行來(lái)安裝指定的擴(kuò)展。這更便于用戶辨別是否是的擴(kuò)展。當(dāng)用戶運(yùn)行安裝一個(gè)擴(kuò)展時(shí),文件會(huì)被自動(dòng)更新使之包含新擴(kuò)展的信息。上述代碼表明該擴(kuò)展依賴于包。例如,上述的條目聲明將對(duì)應(yīng)于別名。為達(dá)到這個(gè)目的,你應(yīng)當(dāng)在公開(kāi)發(fā)布前做測(cè)試。 簡(jiǎn)述 擴(kuò)展是專門設(shè)計(jì)的在 Yii 應(yīng)用中隨時(shí)可拿來(lái)使用的, 并可重發(fā)布的軟件包。 基礎(chǔ) 例如, yiisoft/yii2-debug 擴(kuò)展在你的應(yīng)用的每個(gè)頁(yè)面底部添加...

    bovenson 評(píng)論0 收藏0
  • codeception (5)Yii2下測(cè)試ajax

    摘要:屬于驗(yàn)收測(cè)試返回我測(cè)試的這個(gè)必須要先登錄切換到配置站點(diǎn)登錄斷言可以在這個(gè)頁(yè)面里看到指定的文字用戶名密碼登錄退出登錄登錄成功后跳轉(zhuǎn)到目標(biāo)頁(yè)面添加客戶填寫(xiě)參數(shù)的情況下代表成功參數(shù)為空的情況代表失敗運(yùn)行查 ajax屬于驗(yàn)收測(cè)試返回我測(cè)試的這個(gè)ajax必須要先登錄 use testscodeceptionfrontendAcceptanceTester; $I = new Acceptanc...

    willin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ZHAO_

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<