Ich mache Unit Testing für meine react Komponente (mit jest). Ich habe wenige Methoden, die von der Komponente aufgerufen werden. Beispiel:wie man react-intl als Argument in der react component Methode übergibt während jest testing, throws 'TypeError: intl.formatMessage ist keine Funktion'
export function getText(text, intl) => ((text !== 'NA') ? (intl.formatMessage({ id: value })) : '');
const ReactComponent = (props) => {
const text = getText(text, intl);
return (....);
}
export default injectIntl(ReactComponent);
in Testdatei i haben:
import { getText } from 'path';
import { intl } from 'react-intl';
it('should render text',() => {
expect(getText('string', { intl })).toBe('string');
});
Wenn ich versuche, Test auszuführen, es wirft Fehler intl.formatMessage keine Funktion ist.
Über 'wirft Fehler reactcomponent.getText ist nicht eine Funktion'. Wie importierst du diese Methode in deinem Test? – mersocarlin
Importieren Sie {getText} von 'Pfad'; – user8870784
Das ist der Grund dann. Sie exportieren 'getText' nicht. Ich habe gerade meine Antwort aktualisiert :) – mersocarlin