Comments (4)
function createS3ClientMock():S3 {
const mock: any = TypeMoq.Mock.ofType(S3);
// it's wrong way to stub. you should use mock.setup(...)
mock.endpoint = 'STUBBED_ENDPOINT';
// you should not cast mock to S3, you should return mock.object
return <S3> mock;
}
Read README, it's clear enough.
from typemoq.
@eschwartz Here is your example modified as suggested by @dizel3d
import { S3, Endpoint } from "aws-sdk";
import * as TypeMoq from "typemoq";
function createS3ClientMock(): S3 {
const mock = TypeMoq.Mock.ofType(S3);
// it's wrong way to stub. you should use mock.setup(...)
mock.setup(x => x.endpoint).returns(() => new Endpoint("STUBBED_ENDPOINT"));
// you should not cast mock to S3, you should return mock.object
return mock.object;
}
console.log(createS3ClientMock().endpoint);
//Endpoint {
// protocol: 'https:',
// host: 'stubbed_endpoint',
// port: 443,
// hostname: 'stubbed_endpoint',
// pathname: '/',
// path: '/',
// href: 'https://stubbed_endpoint/' }
from typemoq.
Thanks, @florinn for the example.
I kind of the gave up on this, because the documentation on setup
is confusing to me. What is the signature of setup
? In your example, what is x
and why does the function passed to mock.setup
return x.endpoint
? What does that do?
from typemoq.
setup
accepts a function (also referred to as 'matcher') taking as input argument the type being mocked (here x
having type S3
) and as body the value/property/method (with arguments if that's the case) to match (here the getter x.endpoint
).
from typemoq.
Related Issues (20)
- Allow single parameter verify calls
- reset invocations HOT 2
- detecting multiple calls when only one is present HOT 2
- Error when installing due to postinstall-build
- Bug: Verify behaving strangely (maybe?) HOT 2
- cause error when argument don't have a default constructor
- Add BigInt serialization support
- Test using a TypeMoq.It.is() with passed by reference predicate fails HOT 2
- Spec has no expectations
- Using mocks as return values for mocks is impossible
- Methods on abstract implementations are lost when downcasting a mocked type HOT 2
- Unable to Globally Mock Constructors
- Deprecate postinstall-build
- Deprecate circular-json
- It.isAnyObject() for objects that only have constructor with arguments
- Resetting with CallBase = true will not fallback to base class
- Update lodash dependency due to security issues
- TypeMoq stops recording mocked invocations after 3 times
- Typed `It.isAny` ?
- VerifyNoOtherCalls support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typemoq.