Mock underscore in jasmine/angular test
up vote
1
down vote
favorite
In a component, I have the following method:
import _ from 'underscore';
@Component({
selector: 'hello-selector',
templateUrl: './hello.component.html'
)}
export class Hello implements OnInit{
...
public arrayHello(): Array {
return _.chain(...)
...
}
...
ngOnInit(): void {
myarray = this.arrayHello();
}
The default test case in the angular spec file failed with the error
TypeError: Cannot read property 'chain' of undefined
How to Mock underscore in order to deal with this error?
I already tried the following but it does not seems to be the right way: spyOn(_, 'chain').and.callFake((f => f()));
angular mocking underscore.js karma-jasmine
add a comment |
up vote
1
down vote
favorite
In a component, I have the following method:
import _ from 'underscore';
@Component({
selector: 'hello-selector',
templateUrl: './hello.component.html'
)}
export class Hello implements OnInit{
...
public arrayHello(): Array {
return _.chain(...)
...
}
...
ngOnInit(): void {
myarray = this.arrayHello();
}
The default test case in the angular spec file failed with the error
TypeError: Cannot read property 'chain' of undefined
How to Mock underscore in order to deal with this error?
I already tried the following but it does not seems to be the right way: spyOn(_, 'chain').and.callFake((f => f()));
angular mocking underscore.js karma-jasmine
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
In a component, I have the following method:
import _ from 'underscore';
@Component({
selector: 'hello-selector',
templateUrl: './hello.component.html'
)}
export class Hello implements OnInit{
...
public arrayHello(): Array {
return _.chain(...)
...
}
...
ngOnInit(): void {
myarray = this.arrayHello();
}
The default test case in the angular spec file failed with the error
TypeError: Cannot read property 'chain' of undefined
How to Mock underscore in order to deal with this error?
I already tried the following but it does not seems to be the right way: spyOn(_, 'chain').and.callFake((f => f()));
angular mocking underscore.js karma-jasmine
In a component, I have the following method:
import _ from 'underscore';
@Component({
selector: 'hello-selector',
templateUrl: './hello.component.html'
)}
export class Hello implements OnInit{
...
public arrayHello(): Array {
return _.chain(...)
...
}
...
ngOnInit(): void {
myarray = this.arrayHello();
}
The default test case in the angular spec file failed with the error
TypeError: Cannot read property 'chain' of undefined
How to Mock underscore in order to deal with this error?
I already tried the following but it does not seems to be the right way: spyOn(_, 'chain').and.callFake((f => f()));
angular mocking underscore.js karma-jasmine
angular mocking underscore.js karma-jasmine
edited yesterday
Philipp Meissner
1,82411531
1,82411531
asked yesterday
billyjov
594314
594314
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
You can create mock Object for underscore.
import _ from './test-data/UnderscoreMock';
And use UnderscoreMock:
./test-data/UnderscoreMock
export default const _ {
chain: () => {}
....
}
and set UnderscoreMock in component.
Second you can use spyOn into component.
spyOn(INSTANCE_COMPONENT, "chain");
always get an undefined
– billyjov
yesterday
can tryingconst spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
andexpect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
not working yet for the case
– billyjov
yesterday
Yes, I think you need to wrap upchain
in method or check value how you get with chain
– Konstantin Okhotnick
yesterday
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
You can create mock Object for underscore.
import _ from './test-data/UnderscoreMock';
And use UnderscoreMock:
./test-data/UnderscoreMock
export default const _ {
chain: () => {}
....
}
and set UnderscoreMock in component.
Second you can use spyOn into component.
spyOn(INSTANCE_COMPONENT, "chain");
always get an undefined
– billyjov
yesterday
can tryingconst spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
andexpect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
not working yet for the case
– billyjov
yesterday
Yes, I think you need to wrap upchain
in method or check value how you get with chain
– Konstantin Okhotnick
yesterday
add a comment |
up vote
0
down vote
You can create mock Object for underscore.
import _ from './test-data/UnderscoreMock';
And use UnderscoreMock:
./test-data/UnderscoreMock
export default const _ {
chain: () => {}
....
}
and set UnderscoreMock in component.
Second you can use spyOn into component.
spyOn(INSTANCE_COMPONENT, "chain");
always get an undefined
– billyjov
yesterday
can tryingconst spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
andexpect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
not working yet for the case
– billyjov
yesterday
Yes, I think you need to wrap upchain
in method or check value how you get with chain
– Konstantin Okhotnick
yesterday
add a comment |
up vote
0
down vote
up vote
0
down vote
You can create mock Object for underscore.
import _ from './test-data/UnderscoreMock';
And use UnderscoreMock:
./test-data/UnderscoreMock
export default const _ {
chain: () => {}
....
}
and set UnderscoreMock in component.
Second you can use spyOn into component.
spyOn(INSTANCE_COMPONENT, "chain");
You can create mock Object for underscore.
import _ from './test-data/UnderscoreMock';
And use UnderscoreMock:
./test-data/UnderscoreMock
export default const _ {
chain: () => {}
....
}
and set UnderscoreMock in component.
Second you can use spyOn into component.
spyOn(INSTANCE_COMPONENT, "chain");
answered yesterday
Konstantin Okhotnick
946718
946718
always get an undefined
– billyjov
yesterday
can tryingconst spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
andexpect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
not working yet for the case
– billyjov
yesterday
Yes, I think you need to wrap upchain
in method or check value how you get with chain
– Konstantin Okhotnick
yesterday
add a comment |
always get an undefined
– billyjov
yesterday
can tryingconst spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
andexpect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
not working yet for the case
– billyjov
yesterday
Yes, I think you need to wrap upchain
in method or check value how you get with chain
– Konstantin Okhotnick
yesterday
always get an undefined
– billyjov
yesterday
always get an undefined
– billyjov
yesterday
can trying
const spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
can trying
const spyChain = (window._, 'chain').and.callFake(() => {})
– Konstantin Okhotnick
yesterday
and
expect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
and
expect(spyChain.chain).toHaveBeenCalled();
– Konstantin Okhotnick
yesterday
not working yet for the case
– billyjov
yesterday
not working yet for the case
– billyjov
yesterday
Yes, I think you need to wrap up
chain
in method or check value how you get with chain– Konstantin Okhotnick
yesterday
Yes, I think you need to wrap up
chain
in method or check value how you get with chain– Konstantin Okhotnick
yesterday
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372039%2fmock-underscore-in-jasmine-angular-test%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown