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);
}
