typescript - 'oanvänd uttryck, förväntade en tilldelning eller funktionsanrop' i ett Angular-enhetstest när man kör tslint


Finns det ett sätt att åtgärda detta fel utan att behöva lägga in en ignorering i filen?

Fel vid körning av kommando:

./node_modules/tslint/bin/tslint -p src/tsconfig.json --type-check src/app/app.component.spec.ts
[21, 5]: unused expression, expected an assignment or function call

Test :

let chai = require('chai');
let expect = chai.expect;

import { AppComponent } from './app.component';

import { ComponentFixture, TestBed } from '@angular/core/testing';

describe('AppComponent', function() {
  let testAppComponent: AppComponent;
  let fixture: ComponentFixture<AppComponent>;

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [AppComponent]
    });
    fixture = TestBed.createComponent(AppComponent);
    testAppComponent = fixture.componentInstance;
  });

  it('should create the correct component', () => {
    expect(testAppComponent instanceof AppComponent).to.be.true;
  });
});

Svar #1

Menade du kanske detta:

expect(testAppComponent instanceof AppComponent).toBe(true);

Uttrycket du har där åtkomst bara en massa egenskaper, du behöver någon form av funktionsanrop för att det faktiskt ska göra något.

Svar #2

I mitt fall hade jag ett hängande ?

someArray.find(someCheck)?.items.push(someThing)

Jag skrev precis ut det som ett if-uttalande:

let ok = someArray.find(someCheck);
if (ok) {
 ok.items.push(someThing);
}

Relaterade artiklar