Mã thử nghiệm của tôi có đầy đủ các lớp tĩnh cuối cùng. và trong khi chúng tôi không thể cấu trúc lại nó để kiểm tra tốt hơn, tôi có một giải pháp trung gian chạy một vài thử nghiệm nhỏ trên quy trình riêng của nó. và tất cả đều hoạt động tốt. nhưng tôi nhận được không có báo cáo bảo hiểm như một ghi đè lên khác.làm thế nào để chạy php đơn vị nhiều lần và nối các báo cáo bảo hiểm?
Tôi hiện đang tạo báo cáo bằng clover, nhưng tôi rất cởi mở với các báo cáo khác.
thử nghiệm của tôi chỉ làm việc khi phpunit được điều hành như:
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/aTest.php
OK (1 test, 1 assertions)
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/bTest.php
OK (1 test, 1 assertions)
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/cTest.php
OK (1 test, 1 assertions)
Nhưng điều đó sẽ dẫn đến mỗi lần chạy wipping báo cáo từ trước. Vì vậy, tôi chỉ nhận được một báo cáo cho người cuối cùng. Và nếu tôi cố gắng chạy chúng như phpunit dự kiến sẽ tạo ra các báo cáo đầy đủ, tôi có thất bại bởi vì tất cả các lớp học của tôi bao gồm những cái tĩnh của riêng mình.
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/
. (first test pass)
PHP Fatal error: Cannot redeclare class Something
make[1]: *** [phpunit_run] Error 255
(nhưng ở trên sẽ thất bại ngay cả với --process-isolation --no-globals-backup
vì không chính xác những gì họ có nghĩa là ...) - Đây là chưa một câu hỏi về cách để có được đúng quy trình cách ly trên đơn vị php. Tôi đang chạy nó nhiều lần, tôi chỉ muốn có một báo cáo bảo hiểm đầy đủ :)
Có cách nào để các bài kiểm tra chạy đúng (tức là trong một số quy trình để tránh không gian khai báo lớp toàn cầu) như mã đầu tiên chặn, nhưng vẫn có báo cáo bảo hiểm mã toàn diện?
cảm ơn bạn!