Skip to content

littlebookboy/php-unit-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php 單元測試練習

建立專案資料夾,設定 git

mkdir php-unit-example

cd php-unit-example

git init

git remote add origin [email protected]:littlebookboy/php-unit-example.git

mkdir src

mkdir tests

composer.json

composer init

Welcome to the Composer config generator

This command will guide you through creating your composer.json config.

Package name (<vendor>/<name>) [gene/php-unit-example]:
Description []:
Author [gene <[email protected]>, n to skip]:
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []: project
License []: MIT

Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]? no
Would you like to define your dev dependencies (require-dev) interactively [yes]? no

{
    "name": "gene/php-unit-example",
    "type": "project",
    "license": "MIT",
    "authors": [
        {
            "name": "gene",
            "email": "[email protected]"
        }
    ]
}

Do you confirm generation [yes]?
Would you like the vendor directory added to your .gitignore [yes]?

update composer.json

{
    "name": "gene/php-unit-example",
    "type": "project",
    "require": {
        "php": ">=7.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^7.1"
    },
    "license": "MIT",
    "authors": [
        {
            "name": "gene",
            "email": "[email protected]"
        }
    ],
    "autoload": {
        "psr-4": {
            "PHPUnit\\Example\\Tests\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "PHPUnit\\Example\\Tests\\": "tests/"
        }
    }
}

composer package install

composer install

php storm set directories

image 01 image 02 image 03 image 04

make a test case

BaseTestCase.php

<?php

namespace PHPUnit\Example\Tests;

use PHPUnit\Framework\TestCase;

class BaseTestCase extends TestCase
{
    /**
     * 建構式
     */
    public function setUp()
    {
        parent::setUp();
    }

    /**
     * 解構式
     */
    protected function tearDown()
    {
        parent::tearDown();
    }
}

ExampleTest.php

<?php

namespace PHPUnit\Example\Tests;

class ExampleTest extends BaseTestCase
{
    /**
     * 建構式
     */
    public function setUp()
    {
        parent::setUp();
    }

    /**
     * 解構式
     */
    protected function tearDown()
    {
        parent::tearDown();
    }

    /**
     * A basic test example.
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }
}

參考資料

  1. 點燈坊:如何測試PHP原生函式?
  2. 點燈坊:如何使用 PHPUnit 測試 private 與 protected method?
  3. PHPUnit 手冊

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages