Codeception / Codeception/AspectMock
Unable to instrument classes in the /vendor directory
- Lenguaje dominante
- PHP
- Estrellas
- 784
- Forks
- 132
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I was able to get AspectMock to instrument my own classes in my directory but I can not get it to work on classes in the composer `/vendor` directory....
Is this even possible?
I tried adding vendor to my `includePaths` but I get the issue in #112
My bootstrap looks basically like this:
```php
require_once __DIR__.'/../vendor/autoload.php'; // composer autoload
$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'appDir' => __DIR__.'/..',
'cacheDir' => __DIR__.'/_data/aopcache',
'includePaths' => [
__DIR__.'/../repo'
],
'excludePaths' => [
__DIR__,
]
]);
```
Sample of my test code:
```php
$testDataStr = 'var=1&var=2';
$paypalIPN = test::double(new \PayPal\IPN\PPIPNMessage($testDataStr), [
'getRawData' => ['Returned test double'],
]);
$this->assertTrue($paypalIPN->class->hasMethod('getRawData'));
$testData = $paypalIPN->getRawData();
$paypalIPN->verifyInvoked('getRawData'); // fails
```
fails with:
```Expected PayPal\IPN\PPIPNMessage->getRawData to be invoked but it never occurred. Got:```
**Versions**
php 5.6.30
codeception/aspect-mock:2.0.1 @b7f5c50da89419824102400bb4c71988ec33044f
goaop/framework:2.1.2 @6e2a0fe13c1943db02a67588cfd27692bddaffa5
goaop/parser-reflection:1.4.0 @adfc38fee63014880932ebcc4810871b8e33edc9
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con la configuración de bootstrap mostrada en el issue y reproduce la prueba usando PayPal\IPN\PPIPNMessage, centrándote en includePaths, excludePaths y la carga automática de Composer. Traza por qué test::double no intercepta getRawData para la clase de /vendor. Se considera terminado cuando la invocación es interceptada y verifyInvoked('getRawData') pasa.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- testing
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100