siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
45 lines (30 loc) • 1.07 kB
JavaScript
StartTest(function (t) {
t.it("Should be able to create a spy", t => {
var spy = t.createSpy('007')
spy()
spy(0, 1)
spy(0, 1, '1')
t.expect(spy).toHaveBeenCalled()
t.expect(spy).toHaveBeenCalledWith(0, t.any(Number), t.any(String))
t.is(spy.calls.any(), true)
t.is(spy.calls.count(), 3)
spy.calls.reset()
t.is(spy.calls.any(), false)
t.is(spy.calls.count(), 0)
})
t.it("Should be able to spy on some function", t => {
var someInstance = {
counter : 0,
method : function () { this.counter++ }
}
var spy = t.spyOn(someInstance, 'method')
someInstance.method(1)
someInstance.method('one', 'two')
someInstance.method(3, 3, 3)
t.expect(spy).toHaveBeenCalled()
t.expect(spy).toHaveBeenCalled('>1')
t.expect(spy).toHaveBeenCalled('<=3')
t.expect(spy).toHaveBeenCalledWith(1)
t.expect(spy).toHaveBeenCalledWith('one', 'two')
});
});