Testen mit Spaß und Typoskript mit Mocks

Arbeite ich mit Typescript und Scherz, um zu versuchen, um zu testen, einige Komponenten für meine Winkel-und Ionic-Anwendung, aber das Problem ist nicht beschränkt auf Angular oder Ionic. Als solcher, ich versucht, um das Mockup-Funktionalität von Scherz zu arbeiten.

Ich bin einfach erstellen Sie eine dummy-Klasse, die ich will, um zu versuchen, zu verspotten, die Antworten der Funktionen zu sehen, wenn ich das überschreiben kann das Verhalten.

Scherz-mock.ts

export class AClass {
    constructor() { }

    GetOne():any {
        return  1;
    }

    GetTwo():any {
        return 2;
    }
}

Scherz-mock.spec.ts

import { AClass } from './jest-mock';

//const mockGet = jest.fn( () => { return 3; } );  //Tried this to return 3?
const mockGet = jest.fn();
jest.mock('./jest-mock', () => {
    return jest.fn().mockImplementation( () => {
        return { GetOne: mockGet };
    });
});

describe('Testing Jest Mock is working', () => {
    it('should support mocking out the component', () => {
        expect(mockGet).toBeTruthy();
        expect(mockGet).toBe(3);                //Mocked Value
    });
});

Ich versuche einfach nur, um einen test erstellen, können Sie das Ergebnis der Funktion, so, dass meine mock verwendet werden, die von anderen realen test-code, um die Ergebnisse für die Tests.

Wenn ich versuche, eine Klasse zu erstellen von mock - TestObject = new AClass();

TypeError: _jestMock.AClass is not a constructor

Den test oben definiert sind, bekomme ich die folgende Fehlermeldung:

expect(received).toBe(expected)
    Expected value to be (using Object.is):
      3
    Received: 
      [Function mockConstructor]
    Difference:
       Comparing two different types of values. Expected number but received function.
InformationsquelleAutor Steven Scott | 2018-02-05
Schreibe einen Kommentar