Unable to instrument classes in the /vendor directory
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
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.
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:
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:
$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
- Lenguaje dominante
- PHP
- Estrellas
- 784
- Forks
- 132
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Codeception/AspectMock
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
Codeception/AspectMock#208 · 2 comentarios · 5 reacciones ·
-
AspectMock не мокает объект Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Codeception/AspectMock#206 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Codeception/AspectMock#203 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 35/100
Codeception/AspectMock#202 · 5 comentarios · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
Codeception/AspectMock#201 · 1 comentario ·
Todos los issues de Codeception/AspectMock
Issues similares
-
tooling
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
UX
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
OpenConext/OpenConext-engineblock#2122 ·
-
Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Automattic/safe-publish#594 ·