bug: get undefined on updated State value on test when create page in beforeAll

Abierto
#5,319 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
testing

Línea de trabajo

Comienza con el repositorio de reproducción y la prueba fallida src/components/my-component/my-component.spec.ts, especialmente con su configuración de beforeAll y el listener de ChangeValue. Sigue la actualización de stateValue a través del Stencil testing runtime, donde se informa del error $hostElement$. El trabajo estará terminado cuando la prueba reproducida del listener pase sin el error de valor indefinido.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug: Validated Has Workaround
Prerequisites
Stencil Version

4.7.0

Current Behavior

 FAIL  src/components/my-component/my-component.spec.ts
  ● my-component › test error

    TypeError: Cannot read properties of undefined (reading '$hostElement$')

      27 |   @Listen('ChangeValue')
      28 |   onChangeValue(event: CustomEvent<string>) {
    > 29 |     this.stateValue = event.detail;
         |                    ^
      30 |   }
      31 |
      32 |   render() {

      at setValue (node_modules/@stencil/core/internal/testing/index.js:541:58)
      at MyComponent.set [as stateValue] (node_modules/@stencil/core/internal/testing/index.js:589:6)
      at MyComponent.onChangeValue (src/components/my-component/my-component.tsx:29:20)
      at p.<anonymous> (node_modules/@stencil/core/internal/testing/index.js:930:65)
      at node_modules/@stencil/core/mock-doc/index.cjs:714:34
          at Array.forEach (<anonymous>)
      at triggerEventListener (node_modules/@stencil/core/mock-doc/index.cjs:712:19)
      at dispatchEvent (node_modules/@stencil/core/mock-doc/index.cjs:733:5)
      at p.dispatchEvent (node_modules/@stencil/core/mock-doc/index.cjs:3400:16)
      at Object.<anonymous> (src/components/my-component/my-component.spec.ts:20:10)


Expected Behavior

get green test passed

System Info
$ npx stencil info

      System: node 18.17.1
    Platform: windows (10.0.22621)
   CPU Model: 12th Gen Intel(R) Core(TM) i7-1265U (12 cpus)
    Compiler: C:\Users\[USERNAME]\workspace\banana\node_modules\@stencil\core\compiler\stencil.js
       Build: 1706543579
     Stencil: 4.12.0
  TypeScript: 5.3.3
      Rollup: 2.56.3
      Parse5: 7.1.2
      jQuery: 4.0.0-pre
      Terser: 5.27.0
Steps to Reproduce
  1. create proyect
  2. create state in component
  3. create Listen in component
  4. create page in beforeAll
  5. create test for Listen
  6. run test
Code Reproduction URL

https://github.com/jjmato/stencil-error-example

Additional Information

No response

Lenguaje dominante
TypeScript
Estrellas
13.2k
Forks
865
Merge medio
2 d 16 h
PR fusionados (30 d)
29

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stenciljs/core

Todos los issues de stenciljs/core

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.