javascript - Hur man mockar generisk klass i Angular 2


Mina klasser jag vill göra narr av är:

class Class<T>{ ... }

@Injectable()
Manager() { ... }

Jag har detta :

class FakeClass<T> {

constructor(public optionsForConstructor) {
.. do sth mock some methods etc.
}

 class FakeManager {

  public something;

  constructor() {
  public something: any = new FakeManager({
  ..some options not important here .. 
  });
}

Jag vill testa i karma med fejkade klasser:

fdescribe('A test', () => {

let INTERVAL: number = 5000;

beforeEach(() => {
addProviders([
  SUT,
  {provide: MyClass, useClass: FakeClass<T>},
  {provide: Manager, useClass: FakeMapIncidentController},
]);

});

  fit('Should test something',
inject([MyClass, Manager], (myClass, manager) => {

   let SUT = new SUT(manager); // my SUT constructor needs Manager instance

   expect(true).toBe(true);
}));

Men tyvärr fungerar detta inte. Jag får:

Cannot resolve all parameters for 'MyClass'(?). 
Make sure that all the    parameters are decorated with
Inject or have valid type annotations
and that 'MyClass' is decorated with Injectable. in...

Vad är fel med det? Det verkar som att det borde fungera. När jag tar bort raden för MyClass (eftersom det inte är en Angular Injectable() service), får jag ett provider-fel. Hur löser man detta?