5

タイトルが示すように、仕様全体ではなく、単一のテストを実行したいと思います。私が試した単純な方法は、次のようなケースを使用することでした:

describe("MyCase",function() {
    it("has a test",function() {
        expect(something).toBe(something);
    }

    it("has another test",function() {
        expect(something_else).toBe(something_else);
    }
}

これは MyCase.spec.js というファイルに保存されます (これが重要な場合)。コマンドラインから次のコマンドを使用して、最初のケースだけを実行できると思っていたでしょう。

jasmine-node --match="MyCase has a test"

しかし、これはどうやらそれを行う方法ではありません。それで、それはどのように行われますか?

ありがとう!

4

4 に答える 4

5

かなり古いチャンネルかもしれませんが、jasmine 2.0 で特定のテストケースを実行することを探している人には役立ちます。「fdescribe」を使用して特定のスイートを実行し、「fit」を使用して特定の仕様を実行します。これにより、マークされている以外のすべてのテストがスキップされます。

fdescribe と fit to repo をコミットしないように注意してください。ここで「フォーカス」について説明します。

下位バージョンでは、上位の回答で説明されているように、ddescribe、iit を使用できます。

于 2016-10-25T07:20:37.720 に答える
0

正確に必要なものではないかもしれませんが、karma / karma-jasmine の使用を提案したいと思います。Karma 内では、Jasmine に「パッチが適用され」、追加の ddescribe および iit メソッドが提供されます。スイートの 1 つを ddescribe に、または仕様の 1 つを iit に名前変更すると (ddescribe よりも優先されます)、このスイートまたは仕様のみが実行されます。あなたの質問に関しては、最初の仕様の名前を iit に変更すると、この仕様のみが実行されます。もちろん、これは仕様の開発中にのみ役立ちます。

これの欠点は、自分のテスト スイートのほんの一部しか長期間にわたってテストされないという結果になりやすいことです。そのため、名前を通常のバージョンに戻すことを忘れないでください (二重の d も二重の i もありません)。

于 2014-09-29T19:45:02.710 に答える