Function StubbedInstanceCreator

  • Type Parameters

    • T

    • StubT

    Parameters

    • createStub: ((prop) => StubT)

      method for stub creation, for example: sinon.stub()

        • (prop): StubT
        • Parameters

          • prop: string

          Returns StubT

    • excludedMethods: string[] = defaultExcludedMethods

      methods to exclude from mocking. default is defaultExcludedMethods

    Returns {
        createStubbedInstance: ((overrides?) => StubbedInstance<T, StubT> & T);
    }

    a stub creator object with a single method: createStubbedInstance

    Example

    class MyClass {
    constructor(input: number) {
    throw new Error("Should not be called");
    }
    func(input: number, text: string) {
    console.log(text);
    return input;
    }
    property: number = 3;
    optionalProperty?: number;
    get getter(): number {
    return this.property;
    }
    set setter(value: number) {
    throw new Error("Should not be called");
    }
    }

    const sinonStubbedInstanceCreator = StubbedInstanceCreator<MyClass, SinonStub>(
    () => sinon.stub()
    );

    const sinonMockMyClass = sinonStubbedInstanceCreator.createStubbedInstance();

    const jestStubbedInstanceCreator = StubbedInstanceCreator<MyClass, jest.Mock>(
    () => jest.fn()
    );

    const jestMockMyClass = jestStubbedInstanceCreator.createStubbedInstance();

Generated using TypeDoc