title: jasmine spies on inherited methods (with typescript) not working as expected with toHaveBeenCalled()
body: <p>I'm currently having an issue when spying on inherited methods for calls in typescript classes, where the toHaveBeenCalled() method is returning false, even though the method being spied upon is called. Look at the following scenario...</p>
  
  <p>I have two classes, written in TypeScript</p>
  
  <pre><code>class Parent() {
      buyFood() {
          // buy food
      }
  }
  
  class Husband extends Parent {
      makeDinner() {
          super.buyFood();
          // make dinner;
      }
  }
  </code></pre>
  
  <p>In my tests for the class Husband, i'm only concerned of testing the logic for making dinner, since the logic of the buy food of the super class is tested in its own test suite.</p>
  
  <p>Hence, my tests looks like something of the following sort.</p>
  
  <pre><code>let husband:Husband = new Husband();
  
  it('Should make a good dinner', () =&gt; {
      spyOn(husband, 'buyFood');
      husband.makeDinner();
  
      expect(husband.buyFood).toHaveBeenCalled();
  }
  </code></pre>
  
  <p>Even though buyFood() is being called, the assertion is failing with an error saying that husband.buyFood() which is the method inherited from the Parent class has never been called.</p>
  
  <p>How should I go about this issue, without having to assert the value changes by the buyFood() method call?</p>