Dùng thử TDD với PHPUnit


8

Tôi đang thử phương pháp phát triển dựa trên thử nghiệm tích hợp trong Drupal 8 nhưng tôi đang gặp phải một vấn đề ..

Tôi đang gặp phải các lỗi sau khi cố gắng chạy ./core/vendor/bin/phpunit --list-groups ./modules/trong cli của mình:

Lỗi nghiêm trọng của PHP: Không tìm thấy lớp 'Drupal \ Tests \ UnitTestCase' trong / Ứng dụng / MAMP / htdocs / drupal / mô-đun / custom_cookie_compliance / tests / CustomCookieComplianceTest.php trên dòng 10

Lỗi nghiêm trọng: Không tìm thấy lớp 'Drupal \ Tests \ UnitTestCase' trong / Ứng dụng / MAMP / htdocs / drupal / mô-đun / custom_cookie_compliance / tests / CustomCookieComplianceTest.php trên dòng 10

Tôi đã tạo một thư mục mô-đun gọi là custom_cookie_compliance trong thư mục mô-đun của mình. Đổi lại, tôi có một tệp custom_cookie_compliance.info.yml chứa sau đây.

 name: Custom Cookie Compliance
 description: Displays a cookie compliance information window at the top of the website.
 core: 8.x
 type: module

Tôi cũng có một thư mục thử nghiệm chứa thư mục src chứa tệp CustomCookieComplianceTest.php với mã sau đây.

<?php
namespace Drupal\custom_cookie_compliance\Tests;

use Drupal\Tests\UnitTestCase;

/**
 * @group cookie
 */

class CustomCookieComplianceTest extends UnitTestCase {
  public function testSetCookies() {
    if (!isset($cookie_set)) {
      $cookie_set = TRUE;
    }

    $this->assertTrue($cookie_set);
  }
}

Tôi đã viết mã bằng cách làm theo hướng dẫn này .

Tôi hiểu rằng nó không thể tìm thấy UnitTestCaselớp học, nhưng hướng dẫn nói rằng nó nên hoạt động, vậy tại sao nó không hoạt động?

Câu trả lời:


11

Tôi đoán là bạn không bao gồm tệp phpunit.xml.dist, nằm trong thư mục lõi.

Chạy thử nghiệm từ đó (./vendor/bin/phastait ../modules/your_module) hoặc chỉ định tệp đó với -c.

Bạn cũng có thể cung cấp tệp phpunit.xml.dist của riêng bạn (xem mô-đun Thanh toán làm ví dụ); sau đó bạn có thể chạy PHPUnit từ thư mục mô-đun của mình.


Tôi đã không chạy nó từ thư mục cốt lõi như bạn nói vì vậy tôi sẽ phải kiểm tra nó vào thứ hai, tôi sẽ quay lại với bạn sau đó! Có vẻ như nó có thể là những gì gây ra vấn đề.
jzasnake 14/03/2015

Hey cảm ơn sự giúp đỡ, nó chắc chắn đã giải quyết vấn đề!
jzasnake 18/03/2015

2
Cảm ơn nhiều. Điều này đã khắc phục vấn đề của tôi. Đối với những người nhìn vào điều này, tôi đã chạy lệnh này từ CLI: nhà cung cấp / bin / phpunit -c web / core / phpunit.xml.dist web / mô-đun / tùy chỉnh
Jorge Calderon

0

Tôi đã gặp vấn đề tương tự ngày hôm nay và nhận thấy rằng tôi đang sử dụng một phiên bản cũ hơn của Đơn vị PHP. Sau khi nâng cấp lên bản mới nhất, các bài kiểm tra đã hoạt động.

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.