MobX注入デコレータで私が理解していることは、Enzymeを使用して単体テストでストアを初期化してからコンポーネントIマウントしています。 [src:https://semaphoreci.com/community/tutorials/how-to-test-react-and-mobx-with-jestと統合テストセクションにスクロールします。]しかし、私はStore Not Availableを入手し続けています!エラー。これは、特に私が複数の店を注入している場合に問題になる傾向があります。だから私のコンポーネントで単体テストに問題がある複数の店舗を持つMobXオブザーバコンポーネントを注入した
:
export default inject('errorStore', 'someOtherStore', 'andTheThirdStore')(observer(MyComponent));
私のテストは、次のようになります。
import errorStore from './stores/errorStore';
import someOtherStore from './stores/someOtherStore';
import andTheThirdStore from './stores/andTheThirdStore';
import Component from './components/Component';
describe('My Component',() => {
someOtherStore.initializeWithData('./examples','TEST-123-45678-90', 'USERID');
andTheThirdStore.initialize();
const storeProp = { errorStore, someOtherStore, andTheThirdStore };
beforeEach(() => {
const wrapper = mount(<Component {...storeProp} />
}
it ('does all the things',() => {...});
ここに他の種類のプロバイダが必要なのですか、それとも明らかに何かが欠けていますか?
こんにちは、私はTypescriptで動作するようにしようとしていますが、TypescriptはwrappedComponentの通知がありません。 https://1drv.ms/i/s!Alugdb3djzvtiYJPl_tM9nZ6qyS9Jw –
は、次のバージョンのパッケージにタイピングを追加します。それまでのキャストは – mweststrate