1
私はいくつかのSequelize(JS ORM)コードでいくつかの統合テストを書いています。ほとんどのSequelize関数呼び出しはPromiseを返しますが、これはあまり働いていません。以下のテストケースを書く明確な方法はありますか?連鎖した約束を処理する明確な方法はありますか?
it('can add a membership to a user, and user will receive membership.', function() {
return db.Sequelize.Promise.join(
User.create({ firstName: 'foo', lastName: 'bar',
identifier: 'foobar', password: 'whatever', }),
Membership.create({ displayName:'Iron Maiden',role:'somerole' }),
// This is the part I'd like to improve the clarity of,
// if possible.
function(expectedUser, membership) {
return membership.setUser(expectedUser).then(
function(updatedMembership) {
return updatedMembership.getUser().then(
function(actualUser) {
return assert.equal(actualUser.id, expectedUser.id);
})
})
})
});
この記事は本当に約束を助け、そしてあなたの問題を扱う:http://taoofcode.net/promise-anti-patterns/。 – Paul