1
일부 Sequelize (JS ORM) 코드에 대해 일부 통합 테스트를 작성하고 있습니다. 대부분의 Sequelize 함수 호출은 약속을 반환합니다. 아래의 테스트 케이스를 작성하는 명확한 방법이 있습니까?체인 된 약속을 처리하는 명확한 방법이 있습니까?
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