2012-09-01 1 views
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); 
    })  

После записи второй спецификации мой первый spec не работает, поскольку он показывает WAPP .widgets пуст. хотя во время первой спецификации есть значение в WAPP .widgets

+0

Есть гарантии, что ваш код работает синхронно? О какой документации о жасмине говорят об этом? Каков ваш полный код? Два вызова 'it' находятся внутри функции описания? – davidbuzatto

+0

нет удалить и добавить оба вызова в другом описании –

+0

Итак, попробуйте использовать их в том же описании. Похоже, что его следует использовать таким образом (я видел документы). – davidbuzatto

ответ

4

Проблема заключается в том, что у вас не должно быть тестового кода за пределами it. Код за пределами it запускается один раз перед выполнением всего тестового примера. Вероятно, в вашем случае происходит то, что вы удаляете весь виджет до начала теста.

Что ваш тестовый код должен выглядеть так:

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.

+0

спасибо за сохранение моей ночи :) –

+0

На самом деле это лучший совет КОГДА-ЛИБО! Я не могу поверить, как долго я играл, двигаю код и трачу свое время в документах. Вдруг все работает так, как ожидалось. Убедитесь, что все в 'it' –

 Смежные вопросы

  • Нет связанных вопросов^_^