Saya mulai menulis beberapa tes, mengikuti dokumentasi ini dan juga masalah ini https://github.com/react-dnd/react-dnd/issues/453
Masalah yang saya miliki adalah mengenai rendering tes.
Saya bisa mendapatkan contoh bahwa dokumentasi berfungsi, membungkus komponen dalam DragDropContext dan merendernya dengan TestUtils.renderIntoDocument
.
Ini akan mengembalikan objek DragDropContextContainer
.
Namun, jika saya mencoba menggunakan metode Enyzme mount
untuk merender objek, ia mengembalikan objek $$typeof: Symbol(react.element)
- yang tidak mengizinkan saya mendapatkan manajer.
Saya lebih suka menggunakan Enzim - karena itulah yang saya gunakan untuk pengujian saya di tempat lain.
Adakah yang mendapat bantuan dengan ini?
Saya baru saja berhasil, inilah tampilannya. dalam naskah.
import { ThingIAmTesting } from '../file/where/it/lives';
describe('It is a test!', () => {
let props;
let component;
const getComponent = () => {
let OriginalComponent = (ThingIAmTesting as any).DecoratedComponent;
let identity = el => el;
if (!component) {
component = Enzyme.shallow(
<OriginalComponent {...props} connectDragSource={identity} />
);
return component
}
beforeEach (() => {
props = {
prop: 'stuff',
}
component = undefined;
})
it('should render', () => {
let component = getComponent();
expect(component).toMatchSnapshot();
});
})
Berlari ke masalah yang sama ini. Saya bisa, dan berharap Anda bisa, memperbaikinya menggunakan metode wrapper.instance()
. Juga dijelaskan di sini https://github.com/react-dnd/react-dnd/issues/488.
misalnya
const Context = wrapInTestContext(Component)
const wrapper = mount(<Context />)
const manager = wrapper.instance().getManager()
const backend = manager.getBackend()
Selain itu, saya juga perlu mendapatkan instance komponen anak untuk dipanggil getHandlerId()
.
Jika membantu, ini salah satu file pengujian saya: https://Gist.github.com/gilleswittenberg/142fe49e1115b5a1936562b2284e1ab7
Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.
Komentar yang paling membantu
Berlari ke masalah yang sama ini. Saya bisa, dan berharap Anda bisa, memperbaikinya menggunakan metode
wrapper.instance()
. Juga dijelaskan di sini https://github.com/react-dnd/react-dnd/issues/488.misalnya
Selain itu, saya juga perlu mendapatkan instance komponen anak untuk dipanggil
getHandlerId()
.Jika membantu, ini salah satu file pengujian saya: https://Gist.github.com/gilleswittenberg/142fe49e1115b5a1936562b2284e1ab7