2016-05-24 3 views
0

Ich habe eine Route in Node, die einen Auth-Schlüssel erhält. Ich möchte diesen Authentifizierungsschlüssel in allen meinen Jasmin-Tests als Parameter in der URL-Anfrage verwenden. Ich möchte, dass die SetUp-Funktion ausgeführt wird, setze eine globale Variable und erlaube mir dann, diese Variable in allen anderen Testfällen zu verwenden.Wie erzwinge ich, dass eine Funktion zuerst im Jasmine-Test ausgeführt wird?

SetUp Funktion

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) { 
     // ... 
     } 
    } 
    } 
} 

Antwort

1

Sie asynchronous Version beforeAll Funktion verwenden:

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 
     } 
    }); 
}) 
Verwandte Themen