У меня есть пакет Composer, который содержит набор тестов.
В набор тестов входят некоторые компоненты, которые полезны только для тестирования, и они автоматически загружаются через require-dev
, чтобы убедиться, что вы этого не сделаете.доступ к ним как к потребителю пакета.
Теперь, оказывается, есть некоторые другие пакеты, которым необходимо использовать некоторые из этих компонентов для их наборов тестов в конце концов.
То, что я не хочу сделать, это просто сделать автозагрузку этих компонентов, переместив их из require-dev
в require
, потому что, опять же, это компоненты, от которых мы должны зависеть толькодля тестов.
Я также не хочу переместить эти тестовые компоненты в отдельный пакет, так как я хочу, чтобы они версировались вместе с пакетом, к которому они принадлежат.
То, что я хотел бы сделать, это добавить sub -пакет некоторого вида.
Это будет содержать конфигурацию автозагрузки для этих тестовых компонентов, так что, например, acme/foo
включает подпрограмму-пакет acme/foo-test
, что другие пакеты (и пакетсама возраст) может явно добавить к их require-dev
- что позволяет делиться этими тестовыми зависимостями с другими пакетами для тестирования только , например, без загрязнения автозагрузчика в производственных средах.
Isможет ли пакет определить подпакеты, которые затем могут быть установлены из других пакетов?
Редактировать: я также не хочу использовать "хак", как собственно добавление автозагрузкиправила для других пакетов, таких как "Acme\\Foo\\Test\\": "vendor/acme/foo/src/Test"
.(Даже не уверен, что это сработает.)