#reactjs #jestjs
#reactjs #jestjs
Вопрос:
Я работаю над проектом React. И я очень новичок в написании тестовых примеров Jest. В моем проекте я написал простую функцию и пытаюсь протестировать эту функцию. Но тестовый пример терпит неудачу, кто-нибудь, пожалуйста, помогите преодолеть все ошибки.
Это App.js
import React from 'react';
import './App.css';
import Add from './Add/Add';
const App = () => {
return (
<div className='container'>
<div className='row'>
<div className='col-12'>
<Add></Add>
</div>
</div>
</div>
)
}
export default App
Это Add.js
import React from 'react';
const Add = () => {
const addition = () => {
const a = 10;
const b = 10;
const c = a b
return c
}
const myNumber = addition()
return (
<div>
{myNumber}
</div>
)
}
export default Add
Это Add.test.js
import { addition } from './Add';
it('Addition testing', () => {
expect(addition()).toBe(20)
})
Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий
Комментарии:
1. Почему addition — это другой компонент, и он возвращается пустым
divs
.
Ответ №1:
Проблема в том, что addition
функция не доступна из Add.js
. Если вы вместо этого сделаете
import React from 'react';
export const addition = () => {
const a = 10;
const b = 10;
const c = a b
return c
}
const Add = () => {
return (
<div></div>
)
}
export default Add
тест должен пройти.
Если вы хотите использовать дополнение в своем компоненте, вы можете сделать
import React from 'react';
export const addition = () => {
const a = 10;
const b = 10;
const c = a b
return c
}
const Add = () => {
const myNumber = addition();
return (
<div>{myNumber}</div>
)
}
export default Add
Комментарии:
1. Привет @Johan Book Я попробовал ваш код, но он все равно не прошел тест
2. Какую ошибку показывает ваш тест? Вероятно, вам нужно использовать
it(...)
вместоtest()
3. Ошибка типа: (0 , _Add.addition) не является функцией
4. Вы пробовали запускать исправленный тест с кодом, который я добавил
export const addition ...
?