Bir flux uygulamak için rxjs5 kullanan bir webapp projem var ve şu anda üzerinde yazma birimi testleri için çözümler arıyorum.Başka bir projenin içinde mermer testi rxjs5 yöntemini kullanma
Aslında, örneğin, içeride özel gözlenebilirlerini uyguladık:
function getActivityObservable(events, timeout) {
return Observable.create((observer) => {
const deb = debounce(() => observer.next(false), timeout || DEFAULT_TIMEOUT);
const sub = events.subscribe((e) => {
if (!e) {
deb.cancel();
observer.next(false);
} else {
observer.next(true);
deb(e);
}
});
return() => {
if (sub) sub.unsubscribe();
if (deb) deb.cancel();
};
}).distinctUntilChanged();
}
Ben marble testing way kullanarak test ve böyle bir şey yazmak istiyorum
(i rxjs deposundan numune örneği aldı)describe("getActivityObservable",() => {
it("should debounce by selector observable",() => {
const e1 = hot("--a--bc--d----|");
const e1subs = "^ !";
const expected = "----a---c--d--|";
expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);
expectSubscriptions(e1.subscriptions).toBe(e1subs);
});
});
sorum şu:
mümkün hot
gibi operatörleri ile (mermer test yöntemi kullanmak mı, cold
ve benzeri ...) rxjs5 projesinin dışında. Bu güzel aracı projemde nasıl kullanacağımı anlamıyorum.
Yardımlarınız için teşekkür ederiz.
Şu anda çok ergonomik değilsiniz. Temel olarak 'TestScheduler' örneğine ihtiyacınız vardır ve üzerinde 'createHotObservable' ve 'expectObservable 'yöntemlerinin ve materyallerinin tümü vardır. Ardından, bunu yapmak için programlayıcıda 'flush()' diyorsunuz. –
Anlıyorum, teşekkürler. Şu anda gözlemlenebilirliği test etmek için bu yöntemi kullanmanızı tavsiye eder misiniz? Ya da gelecekte mermer testini ortaya çıkarmayı planlıyor musunuz? –
kesinlikle bu yöntemi, şu anda gözlenebilirleri test etmek için kullanabilirsiniz, biz öyleyiz. Sadece henüz yapmak için çok ergonomik değil. –