Bir ES6 varsayılan dışa aktarılmış işlevinde Jasmine kullanarak casus oluşturmaya çalışırken bir Redux uygulaması & üzerinde çalışıyorum. İçe aktarma işleminin 'varsayılan' özelliğine erişmek için bir joker karakter içe aktarma kullanma da dahil olmak üzere, işlev üzerinde casusluk yapmanın birkaç farklı yöntemini denedim, ancak denediğim hiçbir şey şu ana kadar işe yaramadı. Aşağıda, widgets.js
'u test etmek ve widget işlevi üzerinde casusluk yapmak istediğim bir örnek var. widget.js
'dan işlevi dışa aktarma yolunu değiştirmek zorunda kalmadan bunu başarmanın bir yolu var mı?Yasemin'i ES6 varsayılan dışa aktarma yoluyla aktarılan bir işlev için casusluk yapmak için nasıl kullanırım?
widget.js
import { Map } from 'immutable';
import { CREATE_WIDGET } from 'actions';
const initialState = Map({
id: undefined,
name: undefined
});
export default function widget(state=initialState, action) {
switch (action.type) {
case CREATE_WIDGET:
return state.update((widget) => widget.merge(action.widget));
default:
return state;
}
}
widgets.js
import { OrderedMap } from 'immutable';
import { CREATE_ROOM } from 'actions';
import widget from './widget';
const initialState = OrderedMap();
export default function widgets(state=initialState, action={}) {
switch (action.type) {
case CREATE_ROOM:
return state.set(action.widget.id, widget(undefined, action));
default:
return state;
}
}
Eğer adlandırılmış ihracat ile ne yapmak istediğinizi yapmanın bir yolu var mı? Aslında o kadar farklı değiller. – Bergi
Hayır, yapmam. Bu eklentiden bahsedildim, ancak doğru şekilde çalışamadım ve sadece bir nesneyi bir yöntem olarak dışa aktarmak zorunda olduğumu hissettim. – evkline