簡體   English   中英

如何測試在 PHP 中擴展另一個 class 的 class?

[英]How can I test a class that extends another class in PHP?

我是 PHPUnit 的新手,我目前正在嘗試測試一個對系統上的用戶進行身份驗證的 function。 function 稱為authenticate() ,位於Account class 內。

測試

public function passwordAreNotTheSame_Test()
{
    require 'login/app/models/Account.php';
    require 'login/app/controllers/Pages.php';
    require 'login/lib/Controller.php';

    $pages = new Pages();
    $account = new Account($pages);
    $username = "test_name";
    $password = "test_password";
    $cpassword = "invalid_password";
    $email = "email@test.com";
    $Expected = "Passwords do not match!";
    $Received = $account->register($username, $password, $cpassword, $email);
    
    $this->assertEquals($Expected, $Received);
}

但是,我的問題是Account class 中的構造函數還需要一個名為Pages的 controller 。 我的問題是位於文件Pages.php中的 class Pages,擴展了 class Controller . 像這樣:

class Pages extends Controller {
    // some code
}

因此,當我運行測試時,我遇到了以下問題。

Error: Class "Controller" not found C:\xampp\htdocs\apex-management\login\app\controllers\Pages.php:3 C:\xampp\htdocs\apex-management\tests\Unit\RegisterAccountTests.php:13時間:00:00.019,Memory:8.00 MB

錯誤:測試,1:斷言,0:錯誤。 1. 進程以退出代碼 2 結束

我怎樣才能使這個測試工作? 我想學習如何使用 PHPUnit,但我沒有找到有關此類問題的在線文檔。

在 php oop 中,它支持“擴展”關鍵字。 這是一個例子

<?php
class parent{
   //parent class definition
}

class child extends parent{
   //child class declarations
}

?> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM