আমি রাউটার পরীক্ষা করছি এবং দুটি ফাংশন রয়েছে এবং প্রথম ফাংশনটি ডাকা হয়েছিল এবং দ্বিতীয়টি না হলে আমার পরীক্ষা করা দরকার। পদ্ধতি আছে 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?
});