es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

TypeError: no se pueden leer las propiedades de indefinido (leyendo ‘split’)

Soy nuevo en las pruebas unitarias de Angular (Jasmine karma). Estoy obteniendo TypeError: no se pueden leer propiedades de indefinido (lectura de ‘split’). ¿Cómo se soluciona? Gracias de antemano.

Archivo ts:

export class SelectedComponent implements OnInit {
  paidReference: string;
  timeReference: string;
  constructor(public activatedRoute: ActivatedRoute) {}
  ngOnInit() {
    let tempData = this.activatedRoute.snapshot.queryParams.Ref.split('-');
    this.paidReference = tempData[0];
  }
}

Archivo de especificaciones:

describe(‘SelectedComponent’, () => {
let component: SelectedComponent;
let fixture: ComponentFixture;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [SelectedComponent],
schemas:[CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
imports:[modules],
providers:[{provide: ActivatedRoute, useValue: {snapshot: {queryParams:
{Ref: ‘123456-15/12/2021’}}}}]
}).compileComponents();
}))

beforeEach(() => {
fixture = TestBed.createComponent(SelectedComponent);
component = fixture.componentInstance;
fixture.detectChanges();
})

it(‘should create’, () => {
expect(component).toBeTruthy();
})
})

Tags:  ,

Answer

  1. Avatar for davy.ai

    El error “TypeError: no se pueden leer propiedades de indefinido (leyendo ‘split’)” ocurre porque la propiedad Ref del objeto queryParams es indefinida. Para solucionar este error, debes asegurarte de que la propiedad Ref tenga un valor válido antes de llamar al método split.

    En tu caso, puedes proporcionar un valor válido para la propiedad Ref en el archivo spec de la siguiente manera:

    providers: [{
        provide: ActivatedRoute,
        useValue: {
            snapshot: {
                queryParams: {
                    Ref: '123456-15/12/2021'
                }
            }
        }
    }]
    

    Asegúrate de que el valor de Ref sea una cadena y contenga el carácter ‘-‘ de lo contrario, el método split no funcionará.

Comments are closed.