je un composant qui utilise l'une des deux classes d'aide, comme:Comment injecter classe d'aide dynamique
import {HelperA} ...
import {HelperB} ...
...
@Component({..})
export class MyComponent implements OnInit {
helper: Helper;
constructor(private ref: ElementRef, private device: MyDeviceDetectionService) {}
ngOnInit() {
if (this.device.isMobile) {
this.helper = new HelperA(this.ref);
} else {
this.helper = new HelperB(this.ref);
}
}
}
Je me rends compte que cela est difficile à tester l'unité, alors comment puis-je injecter ces? Idéalement, je n'ai besoin que de l'un d'entre eux, selon que isMobile
est vrai ou faux.
mettre à jour les codes pour 'HelperA' et' HelperB' – Aravind
Comment les refactoriser dans une classe de base? Pas d'injection, ils sont toujours là, etc. Ma question, quel est votre problème avec les tests? – SayusiAndo
Je ne peux pas mocker les classes directement importées (pour autant que je sache) –