私はmochaのループテストのためにそれを使っていくつかの問題を抱えてきました。私はsupertest、shouldとit-each modulesを使用しています。モカ:それはそれぞれ依存変数付き
var hasAccess = [{endpoint: "announcements", send: {"creator": users}}]
ユーザーは
it('users', function(done) {
api.get('/users')
.set('Accept', 'application/json')
.set('Authorization', devToken)
.expect(200)
.expect('Content-Type', /json/)
.end(function(err, res) {
if (err) return done(err)
res.body[0].should.have.property('id')
users = res.body[0].id //<----------
done()
});
});
私のこと、各
it.each(hasAccess, 'should return 201 perfoming a POST on %s', ['endpoint'], function(element, next) {
console.log(element.send) //prints out "creator": undefined
api.post('/' + element.endpoint)
.set('Accept', 'application/json')
.set('Authorization', userToken)
.expect('Content-Type', /json/)
.send(element.send)
.expect(201)
.end(function(err, res) {
if (err) return next(err)
res.status.should.equal(201)
next()
});
});
問題があり、このテストに割り当てられている私のvaribale、はIT-に渡されるhasAccessですそれぞれ前にユーザーに値が割り当てられています。私は、テストをお互いに依存させることは悪い習慣であることは承知していますが、これを実際にテストする別の方法はありません。私は完全にこれをテストするためにIDが必要です。そう考えていますか? さらに多くのオブジェクトがhasAccessになるので、ループを実行するのが最適です。ちょうどこれのためにそれを短縮しました。
ああ、意味があります。ちょうどそれを働かせました、オブジェクトのクリアアップのおかげで。 – Delonous