Файл phpunit composer не найден

1

У меня есть эта структура проекта:

root
    -lib
        -dir
            -file1 (namespace PROJECT\dir\)
            -file2
    -tests
        -dir
            -file1Test
            -file2Test (namespace PROJECT\tests)
    -vendor

Composer.json выглядит следующим образом:

 "require-dev":{
    "phpunit/phpunit": "5.0.*"
},
"autoload":{
"psr-4":{
    "PROJECT\\": "lib/"
    }
}

Если я запускаю тесты без использования классов из lib, все работает хорошо. Но (например), если у меня есть

file1Test.php

use PROJECT\dir\file1;

function void testMethod(){
$var = new file1();} 

Я получаю это:

Class PROJECT\dir\file1 not found in full/path/to/file1Test.php

Кто-нибудь знает, где может быть проблема?

  • 0
    Как выглядит процесс начальной загрузки PHPUnit? Вы require композитор автозагрузчика от PHPUnit , когда тесты запускаются?
  • 0
    Есть несколько способов сделать это: stackoverflow.com/a/15711324/541091
Показать ещё 1 комментарий
Теги:
composer-php
phpunit

1 ответ

1

Вероятно, вам нужно добавить phpunit.xml в свой корень, со следующим контентом.

<phpunit bootstrap="vendor/autoload.php">
</phpunit>

Это загрузило бы все классы, загруженные композитором.

  • 0
    После добавления этого файла я получил, к сожалению, ту же ошибку.
  • 0
    Я бы попробовал назвать дело верблюда. Проект \ Lib \ File1. Ваше наименование не совсем стандартное. См. PSR-1 для стандарта именования файлов, который используется композитором. PSR-4 является его более простым преемником.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню