मैं राउटर का परीक्षण कर रहा हूं और दो कार्य हैं, और मुझे परीक्षण करने की आवश्यकता है यदि पहला फ़ंक्शन कहा जाता था और दूसरा नहीं था। विधि है, toHaveBeenCalled
लेकिन परीक्षण के लिए कोई विधि नहीं है यदि फ़ंक्शन को नहीं बुलाया गया था। मैं उसका परीक्षण कैसे कर सकता हूं?
मेरे पास इस तरह का कोड है:
var args, controller, router;
beforeEach(function() {
controller = {
foo: function(name, id) {
args = [].slice.call(arguments);
},
bar: function(name) {
}
};
spyOn(controller, "foo").and.callThrough();
spyOn(controller, "bar").and.callThrough();
router = new route();
router.match('/foo/bar/{{id}}--{{name}}', controller.foo);
router.match('/foo/baz/{{id}}--{{name}}', controller.bar);
router.exec('/foo/bar/10--hello');
});
it('foo route shuld be called', function() {
expect(controller.foo).toHaveBeenCalled();
});
it('bar route shoud not be called', function() {
// how to test if bar was not called?
});