2016-09-22 14 views
15
  • Tôi có hai repo trên máy tính của tôi
    1. API
    2. Codeception repo mà kiểm tra API

Trong repo API Tôi đã thêm codeception + c3Làm thế nào để thiết lập Codeception với vùng phủ sóng mã từ xa?

"require-dev": { 
    "codeception/codeception": "2.*", 
    "codeception/c3": "2.*", 

Tôi cũng đã bao gồm c3.php bên trong index.php, nhưng khi cố gắng kiểm tra nó với --coverage Tôi có lỗi này

[PHPUnit_Framework_Exception] file_get_contents (http://local.api.codeception.com/c3/report/clear): fai dẫn đến luồng mở: yêu cầu HTTP không thành công! Lỗi máy chủ nội bộ HTTP/1.1 500

ANY ví dụ trực tuyến về khả năng thanh toán từ xa với Codeception không?

+1

- Ok, tôi không lười vì vậy tôi đã thực hiện một thử nghiệm nhỏ với API và kiểm tra codec cho API - Thực sự không biết cách thiết lập YML đúng cách https://github.com/Horki/ remotecoverage –

+1

bạn đã cố gắng để hiển thị lỗi xảy ra trong c3? có một hằng số bạn có thể đặt bằng "define ('C3_CODECOVERAGE_ERROR_LOG_FILE', '/path/to/c3_error.log');" trước khi bao gồm c3.php (@see https://github.com/Codeception/c3#setup) Trong tệp, bạn sẽ thấy lỗi tại sao có kết quả 500. – P0rnflake

+0

Lỗi và sự cố tương tự có thể hữu ích: https://github.com/Codeception/Codeception/issues/655 – desc

Trả lời

1

Ok, đó là một cơn ác mộng cấu hình, nhưng tôi đã cố định nó

Here là ví dụ

0

Dưới đây là cấu hình của tôi cho codecoverage từ xa với Codeception (Project on GitHub).


Các bước để chạy lên bộ sưu tập codecoverage xa ​​

1. Hãy chắc chắn rằng Xdebug cài đặt và kích hoạt.

2. Định cấu hình codec.

file codeception.yml (GitHub):

coverage: 
    enabled: true 
    c3_url: 'http://%SERVICE_HOST%/index-test.php/' 
    include: 
    - web/* 
    - config/* 
    - src/* 

3. Kích hoạt tính năng bảo hiểm cho phù hợp mà bạn cần.

file acceptance.suite.yml (GitHub):

coverage: 
    remote: true 

Trong ví dụ của tôi kích hoạt nó chỉ cho nghiệm thu.

4. Bao gồm c3.php tệp trong tệp khởi động ứng dụng của bạn.

Hồ sơ bootstrap index-test.php (GitHub):

// Start the remote code coverage collection. 
require_once __DIR__.'/../c3.php'; 

// autoloader, application running and etc 
// ... 

5. Run bảo hiểm.

$ vendor/bin/codecept run --coverage --coverage-html 

Theo mặc định, bạn có thể tìm thấy báo cáo của mình trong thư mục tests/_output.


Vấn đề có thể

1. Thư mục kết quả không ghi được (tests/_output).

$ chmod 777 tests/_output 

2. Bảo hành từ xa không được in trong bảng điều khiển.

Không được in. Từ tài liệu:

coverage: 
    remote: true 

Trong trường hợp này từ xa kết quả Mã Vùng phủ sóng sẽ không được sáp nhập với những người địa phương, nếu tùy chọn này được kích hoạt. Chỉ có thể hợp nhất trong trường hợp tệp từ xa và cục bộ có cùng đường dẫn. Nhưng trong trường hợp chạy thử nghiệm trên một máy chủ từ xa, chúng tôi không chắc chắn về nó.

3. Một số lỗi khác.

Hãy thử enable debug. Nếu gỡ lỗi được kích hoạt, bạn có thể nhận được báo cáo của bạn hoặc xóa nó.

curl -o codecoverage.tar "http://localhost:8080/index-test.php/c3/report/html" 

End

Đôi khi nó không phải là một nhiệm vụ tầm thường. Vì vậy, tôi hy vọng điều này sẽ giúp!

Các vấn đề liên quan