1

ジャスミンを使用して(初めて)いくつかのテストケースを作成しようとしています

describe("Widget App core logic", function () {
  WAPP.widgets = [];

addwidget は、私の WAPP.widgets 配列にウィジェットを追加します

  WAPP.addWidget('testRecord', 'testRecordContent');
  it("added", function () {
        expect(WAPP.widgets.length).toEqual(1);
    });

ウィジェットを削除すると、同じウィジェットが削除されます

  WAPP.removeWidget('1'); 
  it("record removed correctly", function () {
        expect(WAPP.widgets.length).toEqual(0);
    })    

2 番目の仕様を作成した後、 WAPP .widgets が空であることを示しているため、最初の仕様は失敗します。最初の仕様の時点ではWAPP .widgetsに値がありますが

4

1 に答える 1

4

ここでの問題は、テスト コードを の外部に置くべきではないということですit。の外側のコードはit、すべてのテスト ケースの実行前に 1 回実行されます。あなたのケースでおそらく起こっていることは、テストが始まる前にすべてのウィジェットを削除することです。

テスト コードは次のようになります。

describe("Widget App core logic", function () {
  beforeEach(function () {
    WAPP.widgets = [];
  });

  it("added", function () {
    WAPP.addWidget('testRecord', 'testRecordContent');
    expect(WAPP.widgets.length).toEqual(1);
  });

  it("record removed correctly", function () {
    WAPP.addWidget('1', '1');
    WAPP.removeWidget('1'); 
    expect(WAPP.widgets.length).toEqual(0);
  })    

});

テスト コードは自己完結型である必要があることに注意してください。すべての初期化は 内または で行う必要がありitますbeforeEach

于 2012-09-01T13:22:13.580 に答える