angular2 コンポーネントのテスト ケースを作成しています。
以下のように、観測可能なストリームを使用するサービスを作成しました。
import {Injectable} from '@angular/core'
import {Subject} from 'rxjs/Subject';
import {User} from './user.model';
@Injectable()
export class UserService {
selectedUserInstance:User = new User();
// Observable selectedUser source
private selectedUserSource = new Subject<User>();
// Observable selectColumn stream
selectedUser$ = this.selectedUserSource.asObservable();
// service command
selectUser(user:User) {
this.selectedUserInstance=user;
this.selectedUserSource.next(user);
}
}
今、私のコンポーネントでは、このストリームを次のようにサブスクライブしています:
getSelectedUser() {
this.subscriptionUser = this.userService.selectedUser$.subscribe(
selectedUser => {
this.selectedUser = selectedUser;
}
);
}
ここで、spec.ts ファイルで、このストリームを次のようにモックします。
spyOn(userService, 'selectedUser$')
.and.returnValue(Observable.of({
'name': 'bhushan',
'desc': 'student'
}));
しかし、それは私に次のエラーを与え続けます:
エラー: spyOn は、selectColumn$() に対してスパイするオブジェクトを見つけることができませんでした
これを行う方法はありますか?
私はこの問題に非常に長い間立ち往生しています。
入力はありますか?
ありがとう