XGallery và câu chuyện UT & Coverage

Nghiêm túc mà nói thì viết UT mình cũng chỉ mới thật sự bắt tay vào làm thời gian gần đây. Of course trước đây từ thời JomSocial đã bị “ép” làm. Nhưng không quá hào hứng. Thấy mệt & lười vl.

UT trên XGallery làm việc gì

  • Đảm bảo mình luôn crawl được data. Nhất là khi có các changing structure
  • Và mình cũng muốn UT hết toàn bộ các tính năng khác, bao gồm cả Command ( 1 trong những core quan trọng nhất của XGallery ). Và tập dần với mockup.

Và quan trọng nhất mình đang muốn dần dần implement CI/CD trên Github và automation với IDE PHPStorm ( chắc sớm muộn cũng mua license PHPStorm quá )

Và đây là kết quả

XGallery PHPUnit 9 & Coverage
Github CI

Như vậy mỗi lần mình send MR / PR Github sẽ check PHPUnit / PSR và 1 loạt thứ khác ( dần dần sẽ được implement ). Và tất nhiên cũng có thể automate delivery lên server mình luôn.

name: CI

on: [push]

jobs:
  php-security-check:
    name: PHP Security Checker
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - run: composer install
      - uses: StephaneBour/actions-php-security-checker@1.0
  build-test:
    name: PHPUnit Checker
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - run: composer install
      - run: php bin/phpunit tests/

Có 1 chút vui ở đây là mình xài env là Windows với WSL. Dĩ nhiên PHPStorm chạy trên Windows. Vấn đề là integrate nó với WSL. Ngon !!!

Symfony dùng bridge với PHPUnit 7.5.2. Còn WSL dùng PHPUnit 9.0.1 Cái mình cần làm 1 chút là config PHPStorm để vừa dùng PHPUnit vừa dùng Coverage.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.

Up ↑

%d bloggers like this: