web-dev-qa-db-ja.com

JasmineでbeforeAll関数を使用するにはどうすればよいですか? (coffeeScriptではありません)

BeforeAll関数などを含めるか使用する方法があるかどうかを知る必要があるため、アプリケーションにログインしてテストを開始できます。

今は、ログイン操作を最初のテストケース(it)に入れています。これは良い習慣ではありません。

BeforeAll関数を使用してログインコードを保存するより良い方法があれば、教えてください。

私は、コーヒースクリプトなどのような他のフレームワークとは関係のない純粋なジャスミンを使用しています。

ありがとうございました

25
pharaon450

これは非常に簡単です。 Jasmine 2.1(2014年11月14日リリース)の時点で、beforeAll関数がフレームワークに組み込まれています。

ここにリリースノートがあります 2.1で追加されたすべてのものがあります。そして ドキュメントはこちらbeforeAllafterAllの説明

33
andypaxo

describe関数を必要な数だけネストできます。したがって、次のようなことができます...

describe("General Test", function () {

    function login(){
        //This code will run once at he beginning of your script
    };

    login();

    beforeEach(function () {
        //anything in here will apply to everything in each nested describe
    });

    describe("Specific Test", function () {
        //Applied here
    });

    describe("Another Specific Test", function () {
        //And here
    });


});
3
j_buckley

BeforeAll()およびafterAll()をJasmineに追加するこのパッケージを追加できます。

https://github.com/nonplus/jasmine-beforeAll

1