2015-02-19 4 views
1

Есть ли способ, которым я могу сделать заказ тестов зависимым, поэтому тест 2 не начинается до тех пор, пока не будет завершен тест? переход на localhost: 4200/tests запускает их не детерминированным образом, и иногда он идет в правильном порядке и отлично работает, но в других случаях он выдает их из строя, что может вызвать проблемы, есть ли способ принудительного выполнения определенного порядка, но сохранить их в отдельных тестовых функциях я всегда мог бы просто поместить все для этого теста в одну большую тестовую функцию, чтобы порядок всегда срабатывал, но я чувствую, что они заслуживают того, чтобы их разрастали в их собственные функции, любые рекомендации были бы оценены? в приведенном ниже примере это только пример теста, что я хочу, чтобы выглядетьВыполнение приемочных испытаний зависит от заказа?

import Ember from 'ember'; 
import startApp from '../helpers/start-app'; 

var application; 

module('Acceptance: Login', { 
    beforeEach: function() { 
    application = startApp(); 
    }, 
    afterEach: function() { 
    Ember.run(application, 'destroy'); 
    } 
}); 


test('test 1', function(assert) { 
    authenticateSession(); 

    andThen(function() { 
    visit('/patients/1'); 
    }); 

    andThen(function() { 
    assert.equal(currentRouteName(), 'patients.show.index', "Current route is patients.show.index"); 
    }); 

}); 

test('test 2', function(assert) { 
    authenticateSession(); 

    andThen(function() { 
    visit('/invoices/1'); 
    }); 

    andThen(function() { 
    assert.equal(currentRouteName(), 'invoices.show.index', "Current route is invoices.show.index"); 
    }); 

}); 

ответ

3

Вы пытались с помощью reorder config option?

<script> 
// after you include QUnit... 
QUnit.config.reorder = false; 
</script> 
+1

используя ember-qunit и ember-cli, где я буду придерживаться этого? спасибо – flylib

+0

Возможно, вы сможете просто положить его наверху, чтобы найти вас в курсе, но не уверен, что с ember. – jakerella

+0

@flylib в 'tests/index.html' сразу после строки' ' –