Các bài kiểm tra tĩnh kiểm tra là gì?


8

Sau khi xây dựng mô-đun của tôi, tôi đã thử chạy bin/magento dev:tests:run static.
Điều này đã báo cáo một vài vấn đề với mã của tôi, nhưng tôi không chắc chính xác những gì được kiểm tra khi chạy thử nghiệm này.
Các tài liệu chính thức nói

Phân tích mã tĩnh kiểm tra xem mã PHP tuân theo các tiêu chuẩn mã hóa Magento 2 và các thực tiễn tốt nhất. Chúng thường được thực thi trong quá trình tích hợp liên tục bằng công cụ bin / magento.

Nhưng điều đó không có nghĩa nhiều.
Những gì tôi tìm thấy cho đến nay là.

  • sự hiện diện của composer.json
  • sự hiện diện của README.md
  • sự hiện diện của licence.txt
  • thứ tự của các đối số constructor khớp với thứ tự cha của các đối số.

Còn gì nữa không



@AnkitShah Bạn có thể chỉ cho tôi đoạn chính xác trong trang bạn đã liên kết nơi nó nói các bài kiểm tra tĩnh làm gì không?
Marius

Câu trả lời:


6

bin/magento dev:tests:run static sẽ chạy:

  • Phân tích mã tĩnh ít hơn: Generic.Files.EndFileNewline, Generic.Files.LineEndings, Generic.WhiteSpace.DisallowTabIndent, Squiz.CSS.NamedColours
  • Phân tích mã tĩnh Javascript: eslint, jshint
  • Xác minh tiêu chuẩn mã hóa PHP:
    1. Trả về danh sách trắng dựa trên danh sách đen và các tệp đã thay đổi git
    2. Chạy mã PSR2 đánh hơi mã
    3. Chạy các tiêu chuẩn mã hóa cụ thể của Magento trên mã
    4. Chạy các chú thích đánh hơi trên mã
    5. Chạy trình phát hiện lộn xộn trên mã
    6. Chạy sao chép dán phát hiện trên mã
  • Kiểm tra tính toàn vẹn của mã:
    1. Xây dựng mô-đun phụ thuộc
    2. Một thử nghiệm thực thi composer.lock được cập nhật với composer.json
    3. Một thử nghiệm thực thi tính hợp lệ của các tệp composer.json và bất kỳ quy ước nào khác trong các thành phần Magento
    4. Kiểm tra tương thích Hhvm
  • Kiểm tra đầu ra không an toàn Xss:
    1. / * @noEscape * / trước khi xuất. Đầu ra không yêu cầu thoát. Kiểm tra là màu xanh lá cây.
    2. / * @escapeNot Tweet * / trước khi xuất. Thoát đầu ra không được kiểm tra và * cần được xác minh. Kiểm tra là màu xanh lá cây.
    3. Các phương thức có chứa "html" trong tên của chúng (ví dụ: echo $ object -> {hậu tố} Html {postfix} ()). * Dữ liệu đã sẵn sàng cho đầu ra HTML. Kiểm tra là màu xanh lá cây.
    4. Các phương thức AbstractBlock escHtml, escUrl, escQuote, escXssInUrl được cho phép. Kiểm tra là màu xanh lá cây.
    5. Kiểu truyền và số hàm php () được phép * (ví dụ echo (int) $ var, echo (float) $ var, echo (bool) $ var, echo Count ($ var)). Kiểm tra là màu xanh lá cây.
    6. Đầu ra trong dấu ngoặc đơn (ví dụ: echo 'some text'). Kiểm tra là màu xanh lá cây.
    7. Đầu ra trong dấu ngoặc kép không có biến (ví dụ: echo "some text"). Kiểm tra là màu xanh lá cây.
    8. Khác của p.1-7. Đầu ra không được thoát. Kiểm tra là màu đỏ.

Nguồn: dev / tests / static / phpunit.xml.dist


bạn có thể thêm một vài từ về mỗi một xin vui lòng? Có lẽ một ví dụ không vượt qua một bài kiểm tra cụ thể?
Marius

@Marius Tôi vừa thêm một số từ cho mỗi từ (tôi lấy tất cả từ cốt lõi), hy vọng điều này sẽ giúp.
Jonathan Ribas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.