Я работаю с сторонним модулем в своем проекте ng2. Я хочу, чтобы иметь возможность издеваться этот модуль для тестирования, но модуль сам по себе не получает впрыскивается в мою службу, это просто требуется.Как издеваться над модулем ng2?
Как перезаписать этот Client
так, что мой тест не используя фактический модуль?
import {Injectable} from '@angular/core';
var Client = require('ssh2').Client;
@Injectable()
export class SshService {
constructor(){
//Should log "hello world"
Client.myFunc();
}
}
import { TestBed, inject } from '@angular/core/testing';
describe('My Service',() => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
SshService
]
});
});
it('should work as expected',
inject([SshService], (sshService:SshService) => {
sshService.Client = {
myFunc:function(){
console.log('hello world')
}
}
console.log(sshService.Client)
}));
});
Пример, пожалуйста? –
@JustinYoung Та же идея, различная реализация: http://stackoverflow.com/a/37176929/3033053 – silencedmessage