Wie kann ich testen, ob die Funktion nicht aufgerufen wurde?

Teste ich router und haben zwei Funktionen, und ich brauche, um zu testen, ob die erste Funktion aufgerufen wurde, und zweitens war es nicht. Es ist die Methode toHaveBeenCalled aber es ist keine Methode, um zu testen, ob die Funktion nicht aufgerufen wurde. Wie kann ich testen dass?

Habe ich code wie diesen:

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?
});
InformationsquelleAutor jcubic | 2014-06-18
Schreibe einen Kommentar