আমি কীভাবে পরীক্ষা করতে পারি যে কোনও ফাংশন বলা হয়নি?


88

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

উত্তর:


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.