How to Execute and Disable particular testgroup or testcase in jasmine?
//Disable particular test group and case
xDescribe - @ignore testgroup
xit - @ignore testcase
//Enable particular test group and case
fdescribe - Enable Particular Test Group
fit - Enable Particular Test Case
What is Arrange-Act-Assert Pattern
Arrange – Creating Object, Initilizing and Mocking Data
Act – Act on your unit testcase, execute necessary functionality and methods to be unit tested
Assert – Verifying code functionality is given output as expected
What is difference between toBe vs toEqual?
toBe compares value where as toEqual compares object.toEqual performs deep copy comparison.
Difference between spyOn – returnValue and callFake?
If we just want a return value when a service method is called then we can use any of and.callFake or and.returnValue. But incase if the service method takes
some argument and the output of service method changes based on the argument, we use callFake with output logic in callback function. Though the same could be done
using withargs in spyOn it requires redeclaring of multiple spyOn for multiple arguments.
debugElement vs nativeElement
NativeElement provides exactlty same API methods provided by Javascript for DOM Manipulation.So whatever methods was available while working in Javascript, the same methods would be available by using instance of nativeElement. debugElement, on the other hand, is a wrapper over native element with some additional methods. Using debugElement you could access rootElement which inturn calls nativeElement to get handle of DOM object. In otherwords debugElement is again going to call nativeElement to access the DOM objects. The additional advantage of using debugElement is accessing directive and component instance which is not possible in nativeElement.