Testing TypeScript Code
Stubbed Dependency
A stub replaces an outside dependency with a predictable in-memory value.
Stubbed Dependency
stub.ts
type PriceSource = {
getPrice(sku: string): number;
};
function totalFor(source: PriceSource, sku: string, quantity: number): number {
return source.getPrice(sku) * quantity;
}
const price: number = ;
const stubSource: PriceSource = {
getPrice: () => price,
};
const total: number = totalFor(stubSource, "book", 3);
console.log(`total=${total}`);
type PriceSource = {
getPrice(sku: string): number;
};
function totalFor(source: PriceSource, sku: string, quantity: number): number {
return source.getPrice(sku) * quantity;
}
const price: number = ;
const stubSource: PriceSource = {
getPrice: () => price,
};
const total: number = totalFor(stubSource, "book", 3);
console.log(`total=${total}`);
stub
A stub implements the same small interface as a dependency, but it returns fixed data for the test.