在CircleCI中使用时,Mocha的before()函数失败

时间:2015-09-11 17:15:18

标签: javascript node.js mocha circleci

我尝试使用Mocha在CircleCI上测试我的JS代码,但是在测试开始时就收到了以下错误:

Sample test suite
  1) "before all" hook: applyFixture

0 passing (77ms)
1 failing

1) Sample test suite "before all" hook: applyFixture:
 StatusCodeError: 404 - {"message":"Not Found"}
  at _stream_readable.js:943:16

sample_test.js 档案:

describe('Sample test suite', function() {

  before(function applyFixture() {
    var options = {
        uri: 'http://localhost:8000/sampleRoute',
        method: 'POST',
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        form: {dataset: 'test_dataset'},
        resolveWithFullResponse: true
    };

    return rp(options)
        .then(function(response) {
            if (response.statusCode === 200) {
                console.log('ready for testing!');
            } else {
                throw new Error('failed to load');
            }
        });
});

以下代码在本地运行正常。如果我将before块中的代码包含在第一个测试中,它也适用于CircleCI。在测试开始之前,localhost:8000/sampleRoute也可用。

不确定如何解决此问题......

1 个答案:

答案 0 :(得分:-1)

然后问题是请求的标题。我必须在其中指定身份验证令牌才能正确执行POST请求。这与CircleCI无关。

以下是适当的pep对象:

options