Присвойте ответ от запроса chai-http переменной за пределами области видимости, чтобы его можно было использовать во всех тестовых случаях в блоке описаний - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь вызвать мой API внутри блока before () этого набора тестов, чтобы не вызывать его в каждом отдельном тестовом примере, но, похоже, это не работает.

У меня есть Прочитайте документацию на chai js .com, и я вижу, что они предлагают сделать что-то очень похожее на это.

Это ошибка, которую я получаю:

"before all" hook: Gets data before test cases for "Should contain data array with length greater than 0":
     Uncaught TypeError: Cannot use 'in' operator to search for 'status' in undefined

describe('Testing Location Data', function() {
  let myLocation;

  describe('Testing Location', function() {
    before('Gets data before test cases', function(done) {
      chai
        .request(app)
        .get('http://localhost/api/locations')
        .set(
          'Authorization',
          `Token ${process.env.TOKEN}`
        )
        .end(res => {
          myLocation = res;
          done();
        });
    });

    it('Should contain data array with length greater than 0', function() {
      assert.isArray(ceLocation.data);
      expect(myLocation.data).to.be.gt(0);
    });
  });
});
...