web-dev-qa-db-fra.com

Comment déterminer si JEST exécute le code ou non?

Je crée un test JS sur mon projet natif réactif. J'utilise spécifiquement Firebase pour React Native, dans lequel je voudrais remplacer l'instance Firebase par une instance Mockfirebase si JS exécute le code de ma classe.

Par exemple, j'ai une configuration de classe comme ci-dessous.

import firebase from 'react-native-firebase';
class Database() {
    /// use the firebase instance
}

Je voudrais vérifier si jest est l'environnement en cours d'exécution, puis je remplacerais la ligne d'importation par la classe fictive appropriée.

13
Jojo Narte

jest définit une variable d'environnement appelée JEST_WORKER_ID afin que vous vérifiiez si elle est définie:

function areWeTestingWithJest() {
    return process.env.JEST_WORKER_ID !== undefined;
}

Je vois également que si NODE_ENV n'est pas défini, la plaisanterie CLI le définit à la valeur "test". Cela pourrait être une autre façon de vérifier.

16
gae123