Tôi đang làm việc trên ứng dụng Redux & cố gắng tạo gián điệp bằng cách sử dụng Jasmine trên hàm xuất mặc định ES6. Tôi đã thử một vài cách gián điệp khác nhau về chức năng, bao gồm sử dụng nhập khẩu ký tự đại diện để truy cập thuộc tính 'mặc định' của quá trình nhập, nhưng không có gì tôi đã thử đã làm việc cho đến nay. Dưới đây là một ví dụ, nơi tôi muốn thử nghiệm widgets.js
và gián điệp về chức năng widget. Có cách nào để đạt được điều này mà không cần phải thay đổi cách im xuất khẩu chức năng từ widget.js
?Làm cách nào để sử dụng Jasmine để theo dõi chức năng được nhập thông qua xuất ES6 mặc định?
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;
}
}
Bạn có cách làm những gì bạn muốn làm với xuất khẩu được đặt tên không? Họ không phải là khác nhau thực sự. – Bergi
Không, tôi không biết. Tôi đã nói về plugin này, tuy nhiên, tôi đã không thể làm cho nó chạy một cách chính xác và cảm thấy như tôi chỉ có thể phải xuất khẩu các chức năng như là một phương pháp trên một đối tượng. – evkline