2016-05-24 2 views
0

У меня есть маршрут в узле, который получает ключ авторизации. Я хочу использовать этот ключ auth во всех моих тестах жасмина в качестве параметра в запросе URL. Я хочу запустить функцию SetUp, установить глобальный var, а затем разрешить использовать эту переменную во всех остальных тестовых случаях.Как заставить функцию выполнить сначала тест Жасмин?

SetUp Функция

var global_key = request({ 
     uri    : 'http://localhost:3000/grabToken', 
     method   : 'GET' 
    }, 
    function (err, body, res) { 
     if (err) { console.log(err);} 
     else { 
     return body['auth_key']; 
     } 
    }); 

Test Suite

function testCases() { 
    describe(TEST_SUITE, function() { 
    describe("GET /retrieveSecret/VALID_UUID", function() { 
     it('Requests the secret - Successful response', function(done) { 
     // ... 
     } 
    } 
    } 
} 

ответ

1

Вы можете использовать asynchronous версию beforeAll функции:

describe(TEST_SUITE, function() { 
    let key; 

    beforeAll(function (done) { 
     const params = { uri: 'http://localhost:3000/grabToken', method: 'GET' }; 

     request(params, function (err, body, res) { 
      if (err) { 
       console.log(err); 
       done.fail(); 
      } else { 
       key = body['auth_key']; 
       done(); 
      } 
     }); 
    }) 

    describe("GET /retrieveSecret/VALID_UUID", function() { 
     it('Requests the secret - Successful response', function(done) { 
      // `key` is available here 
     } 
    }); 
})