Chạy thử nghiệm cho một mô-đun cụ thể trong Magento2


52

Chạy các bài kiểm tra cho Magento để sử dụng php bin/magento dev:tests:runmất rất nhiều thời gian.
Có cách nào để chạy thử nghiệm cho một mô-đun cụ thể không?

Tôi là một người mới trong thử nghiệm (đơn vị) vì vậy hãy thương xót.


Bạn đã thử nhìn vào những gì lệnh làm? Ý tôi là, trong mã của nó, có lẽ nó cần một đối số khác (hoặc danh sách).
Julien Lachal

1
@JulienLachal. Đã thử mà. Nó chỉ chấp nhận một đối số (loại) có thể all, unit, integration, integration-all, static, static-all, integrity, legacy, default. Và một số tùy chọn chung như thế -h, -q, ...có sẵn cho tất cả các lệnh. Vì vậy, không có gì đặc biệt về họ
Marius

Câu trả lời:


51

Magento 2 sử dụng khung phpunit để chạy thử nghiệm. Bạn có thể chạy thử nghiệm cho mỗi loại và mô-đun bằng lệnh:

{phpunit_executable} -c {Magentoroot}/dev/test/{type}/phpunit.xml[.dist] path/to/module/test/dir

Ví dụ:

  • để chạy thử nghiệm đơn vị cho Danh mục , bạn cần chạy lệnh

    vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Magento/Catalog/Test/Unit/

  • để chạy thử nghiệm tích hợp cho Danh mục , bạn cần chạy vendor/phpunit/phpunit/phpunit -c dev/tests/integration/phpunit.xml.dist dev/tests/integration/testsuite/Magento/Catalog

Hiện tại chỉ có bài kiểm tra đơn vị chuyển sang mô-đun. Ngoài ra kiểm tra tính toàn vẹn tĩnh và tích hợp đang làm việc với tất cả các mã magento.


Vì vậy, nói chung toàn bộ thử nghiệm tự động vẫn còn là một mớ hỗn độn mặc dù họ chính thức phát hành 2.0.0?
peedee 4/12/2015

@KAndy, tôi đã chạy thử nghiệm đơn vị mô-đun danh mục, nhưng cli hiển thị lỗi như thế này, Lỗi nghiêm trọng: Gọi đến chức năng không xác định Magento \ Catalog \ Block \ adminhtml \ Product \ Edit \ Action \ Attribution \ Tab __ () in / var / www / html / magento2 / eller / magento / module-catalog / Block / adminhtml / Product / Edi‌ t / Action / Attribution / Tab / Inventory.php trên dòng 89. Lỗi mô-đun lõi là display.what là nguyên nhân gây ra lỗi. Xin vui lòng giải thích nó.
Rakesh Jesadiya

@RakeshJesadiya, có vẻ như tệp bootstrap của bạn không bao gồm app /
tests.php

Vâng .. đối với tôi nó hoàn toàn không chạy trên 2.0.2 khi tôi chạy "nhà cung cấp / phpunit / phpunit / phpunit -c dev / tests / unit / phpunit.xml.dist app / code / Magento / Catalog / Test / Unit / "trong thư mục gốc magento, nó cung cấp cho tôi" PHPUnit 4.1.0 bởi Sebastian Bergmann. Không thể mở tệp "app / code / Magento / Catalog / Test / Unit / .php". " ...
Lachezar Raychev

1
@LachezarRaychev Mã lõi Magento không có trong đường dẫn ứng dụng / mã / Magento. Nó được chuyển đến nhà cung cấp / magento. Vui lòng thử lệnh nàyphp vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/magento/module-catalog/
Franc

15

Câu trả lời của kandy giống như cách để đi, nhưng trong thời gian đó tôi đã tìm thấy một cách nhanh chóng và bẩn thỉu để làm điều đó.

Sao chép dev/tests/unit/phpunit.xml.distđến dev/tests/unit/phpunit.xmlvà thay thế

<directory suffix="Test.php">../../../app/code/*/*/Test/Unit</directory>

với

<directory suffix="Test.php">../../../app/code/[Namespace]/[Module]/Test/Unit</directory>  

và nhận xét các directorythẻ khác bên trong <testsuite>thẻ.

Khi bạn đã hoàn tất, hoàn nguyên các thay đổi của bạn hoặc loại bỏ phpunit.xml.


xin chào marius, làm thế nào để kiểm tra đơn vị bằng cách sử dụng cli cho mô-đun danh mục? Lệnh nào chúng ta phải chạy? đường dẫn cơ sở là magento2 / bin?
Rakesh Jesadiya

Đó là trong câu trả lời từ KAndy. vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Magento/Catalog/Test/Unit/
Marius

1
@Rakesh :: vui lòng thử lệnh cập nhật này. php vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/magento/module-catalog/Mã cốt lõi của Magento được chuyển đến đường dẫn của nhà cung cấp / magento.
Franc

Cách chạy thử nghiệm đơn vị cho mô-đun tùy chỉnh bằng cách sử dụng: nhà cung cấp php / phpunit / phpunit / phpunit -c dev / tests / unit / phpunit.xml.disvendor / magento / module-catalog /
Sushivam

@SachinS. Đúng như tôi mô tả. tạm thời chỉnh sửa phpunit.xmltệp và đặt đường dẫn đến mô-đun bạn muốn kiểm tra.
Marius

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.