testing “this” in angular with jasmine
I want make a test code using jasmine, the code like here:
toggle(id) {
this.selected = id;
this.show2 = !this.show2;
}
this is my test function:
test('test toogle function', () => {
const spy = spyOn(component, 'toggle')
expect(spy).toHaveBeenCalled();
})
when I try make a test but just toggle(id)
has been test and pass in coverage
and function in toggle(id) not tested, how to test the function in toggle(id)?
thanks
angularjs testing jasmine
|
show 1 more comment
I want make a test code using jasmine, the code like here:
toggle(id) {
this.selected = id;
this.show2 = !this.show2;
}
this is my test function:
test('test toogle function', () => {
const spy = spyOn(component, 'toggle')
expect(spy).toHaveBeenCalled();
})
when I try make a test but just toggle(id)
has been test and pass in coverage
and function in toggle(id) not tested, how to test the function in toggle(id)?
thanks
angularjs testing jasmine
Can you please tell what exactly do you mean bytesting this and show your test case
– codeLover
Nov 23 at 3:42
I already update my code
– pahlevi
Nov 23 at 4:10
Can you share the controller or service where toggle is written along with entire test file
– codeLover
Nov 23 at 4:48
1
You are spying and stubbing the very function you want to test - this is unlikely what you meant to do. Instead you should call component.toggle(someTestId) and check the values of component.selected and component.show2 to verify they were set properly.
– dmcgrandle
Nov 23 at 8:29
spyOn(component, 'toggle').and.callThrough();
will do the trick, right?
– Castro Roy
Nov 23 at 20:03
|
show 1 more comment
I want make a test code using jasmine, the code like here:
toggle(id) {
this.selected = id;
this.show2 = !this.show2;
}
this is my test function:
test('test toogle function', () => {
const spy = spyOn(component, 'toggle')
expect(spy).toHaveBeenCalled();
})
when I try make a test but just toggle(id)
has been test and pass in coverage
and function in toggle(id) not tested, how to test the function in toggle(id)?
thanks
angularjs testing jasmine
I want make a test code using jasmine, the code like here:
toggle(id) {
this.selected = id;
this.show2 = !this.show2;
}
this is my test function:
test('test toogle function', () => {
const spy = spyOn(component, 'toggle')
expect(spy).toHaveBeenCalled();
})
when I try make a test but just toggle(id)
has been test and pass in coverage
and function in toggle(id) not tested, how to test the function in toggle(id)?
thanks
angularjs testing jasmine
angularjs testing jasmine
edited Nov 23 at 4:10
asked Nov 23 at 3:25
pahlevi
44
44
Can you please tell what exactly do you mean bytesting this and show your test case
– codeLover
Nov 23 at 3:42
I already update my code
– pahlevi
Nov 23 at 4:10
Can you share the controller or service where toggle is written along with entire test file
– codeLover
Nov 23 at 4:48
1
You are spying and stubbing the very function you want to test - this is unlikely what you meant to do. Instead you should call component.toggle(someTestId) and check the values of component.selected and component.show2 to verify they were set properly.
– dmcgrandle
Nov 23 at 8:29
spyOn(component, 'toggle').and.callThrough();
will do the trick, right?
– Castro Roy
Nov 23 at 20:03
|
show 1 more comment
Can you please tell what exactly do you mean bytesting this and show your test case
– codeLover
Nov 23 at 3:42
I already update my code
– pahlevi
Nov 23 at 4:10
Can you share the controller or service where toggle is written along with entire test file
– codeLover
Nov 23 at 4:48
1
You are spying and stubbing the very function you want to test - this is unlikely what you meant to do. Instead you should call component.toggle(someTestId) and check the values of component.selected and component.show2 to verify they were set properly.
– dmcgrandle
Nov 23 at 8:29
spyOn(component, 'toggle').and.callThrough();
will do the trick, right?
– Castro Roy
Nov 23 at 20:03
Can you please tell what exactly do you mean bytesting this and show your test case
– codeLover
Nov 23 at 3:42
Can you please tell what exactly do you mean bytesting this and show your test case
– codeLover
Nov 23 at 3:42
I already update my code
– pahlevi
Nov 23 at 4:10
I already update my code
– pahlevi
Nov 23 at 4:10
Can you share the controller or service where toggle is written along with entire test file
– codeLover
Nov 23 at 4:48
Can you share the controller or service where toggle is written along with entire test file
– codeLover
Nov 23 at 4:48
1
1
You are spying and stubbing the very function you want to test - this is unlikely what you meant to do. Instead you should call component.toggle(someTestId) and check the values of component.selected and component.show2 to verify they were set properly.
– dmcgrandle
Nov 23 at 8:29
You are spying and stubbing the very function you want to test - this is unlikely what you meant to do. Instead you should call component.toggle(someTestId) and check the values of component.selected and component.show2 to verify they were set properly.
– dmcgrandle
Nov 23 at 8:29
spyOn(component, 'toggle').and.callThrough();
will do the trick, right?– Castro Roy
Nov 23 at 20:03
spyOn(component, 'toggle').and.callThrough();
will do the trick, right?– Castro Roy
Nov 23 at 20:03
|
show 1 more comment
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2f53440302%2ftesting-this-in-angular-with-jasmine%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f53440302%2ftesting-this-in-angular-with-jasmine%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
Can you please tell what exactly do you mean bytesting this and show your test case
– codeLover
Nov 23 at 3:42
I already update my code
– pahlevi
Nov 23 at 4:10
Can you share the controller or service where toggle is written along with entire test file
– codeLover
Nov 23 at 4:48
1
You are spying and stubbing the very function you want to test - this is unlikely what you meant to do. Instead you should call component.toggle(someTestId) and check the values of component.selected and component.show2 to verify they were set properly.
– dmcgrandle
Nov 23 at 8:29
spyOn(component, 'toggle').and.callThrough();
will do the trick, right?– Castro Roy
Nov 23 at 20:03