2017-06-06 11 views
0

mochaテストをjestテストに変更する際に問題があります。mochaテストをjestテストに変更する

私は三つのクラスと3つのテストファイルを持っている:

class FirstTestGroup { 
    execute(params) { 
    describe('some tests', function tests() { 
     it('one test',() => { 
     // uses params 
     }); 
     ... 
    }); 
    ... 
    } 
} 

これらの各方法は、使用を実行します。これは次のように、FirstTestGroup、SecondTestGroupとThirdTestGroup、静的なとそれぞれいくつかのテストが含まれている方法を実行します同じパラメータ。これらのパラメータは、非同期呼び出しの前に次のように作成されます。

describe('My Tests', function testSuite() { 
    let params; 

    before('param creation', async function asyncFunc() { 
    // creates params asynchronously 
    }); 

    it('should pass all',() => { 
    FirstTestGroup.execute(params); 
    SecondTestGroup.execute(params); 
    ThirdTestGroup.execute(params); 
    }); 
}); 

それ

は(「すべてを渡す必要があります」、...)が必要であるため、内部のすべてのparamsは、それなしではnullとして渡されるので、即座に実行されますについて説明します。これはモカで動作します。「それ」はネストすることができますが、明らかにこれは冗談の場合ではありません。

テストグループが実行される前に、毎回beforeAll(以前は冗談であったものと同じ)を呼び出すことができましたが、これは非効率的だと思われました。

また、describe( 'My Tests'、...)が定義される前に、呼び出し前にコードを配置することもできます。これは記述の一部でなければならないので、これは間違っているようです。

jestのマニュアルでは、それを手伝ってくれるものが見つかりませんでした。

何か間違っていますか?テストを再構成する必要がある場合でも、これを達成する方法はありますか?しかし、テストを別のファイルに保存したいと思います。

ここに私の最初の質問がありますので、ここでは私が書かれていないので、もっと情報が必要なのか教えてください。

答えて

-1

Jest-Codemodsはまだ試しましたか?

Jest-Codemodsでは、Mocha、AVA、Jasmineのテストを同等のJestテストに変換することができます。また、ChaiやExpectなどのアサーションライブラリを移行する際に役立ちます。

あなたがそれを行う方法:

プロジェクトにnpm install -g jest-codemods

行くと冗談-codemodsをインストールして実行するには、jest-codemods

それは、矢印キーを使用して、あなたにWhich test library would you like to migrate from?

選択モカを聞いてきます(Mochaから移行したい場合)

次に、あなたはWill you be using Jest on Node.js as your test runner?

選択Yes, use the globals provided by Jest (recommended)

最後は、あなたは冗談するモカから移行する作業中のファイル名を提供する必要があります。

あなたは完了です!

コードを自動的にMochaからJestに移行します。コードに触れる必要はありません。これはあなたの時間を節約するJestの最も強力な機能の1つで、モカテストをテストに変えることについて心配する必要はありません。

+0

ダウン投票の具体的な理由は何ですか?より良い方法があれば教えてください。 –

+0

私はもっとポイントに更新できるかどうかを見てみましょう。 –

+0

私は完全に質問を理解します。答えに何が間違っているのか分かりません。それはポイントですし、問題を解決します。 –