parentFinder
и obj
не объявлены нигде в вашем тестовом файле, и они не определены глобально, поэтому вы получите ошибку «не определено».
Исходя из вашего примера, я предполагаю, что вы имеете в виду следующее:
parentFinder = (data,obj) => { // <---- this?
let z = 0;
...
В этом случае obj
относится к элементу, передаваемому в ваш метод App.parentFinder
(то есть новый div
создается).Поскольку parentFinder
является методом для вашего App
компонента, вам нужно получить экземпляр вашего App
.Я рекомендую использовать Test Renderer .
Вы можете сделать это, выполнив что-то вроде:
import React from 'react';
import App from './App';
import TestRenderer from 'react-test-renderer';
test('parentFinder returns null', () => {
// have the TestRenderer create your App
const app = TestRenderer.create(<App />);
// to get the mounted app component instance
const appInstance = app.getInstance();
// not sure what you mean by 0,obj in your example
// but you would pass in your "data"/"obj" values here
const result = appInstance.parentFinder();
});
Надеюсь, что это поможет, и дайте мне знать, если у вас есть какие-либо вопросы.