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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Während der Prüfung der anderen Hinweise, ich habe es geschafft zu bekommen, die mock-test arbeiten. Ich habe die Scherz-mocks.spec.ts zu sein: