2
mocha 또는 sinon을 사용하여 mysql 쿼리를 테스트하기위한 모범 사례를 찾고 있습니다. 나는 또한 테스트를 분리 할 내가 내 DB 객체 대신 객체 데이터베이스와 사용의 모형을 만들고 싶어 생각테스트에서 쿼리를 분리하는 모범 사례
User.prototype.save = function(cb) {
var query = 'INSERT INTO user (name, email, password, img, description)'
+ 'values (?, ?, ?, ?, ?)';
var params = [this.name, this.email, this.pass, this.img, this.description];
db.query(query,
params,
function(err, rows) {
if (err) return cb(err);
cb(rows.insertId);
}
);
};
을 :하지만, 나는 그런 저장 등의 아주 기본적인 DB 쿼리를 테스트하기 위해 노력하고있어 응용 프로그램 논리의 논리.
나는 기능이 유형의 테스트를위한 최상의 방법이 있을까요
describe('User', function() {
before(function() {
mock = sinon.mock(require('../middleware/db'));
})
describe('.save()', function() {
var uid;
it('should run save on a user', function() {
var user = new User ({
name: 'Test Case 1',
email: '[email protected]',
pass: 'pass',
img: 'path/to/img.jpg'
});
user.save(function(id) {
id.should.be.ok;
var uid = id;
});
})
it('should save the user', function() {
var ret = User.find(uid);
ret.should.be.ok;
ret.should.have.property('description');
ret.name.should.equal('Test Case 1');
ret.email.should.equal('[email protected]');
})
})
의 라인을 따라 변화를 시도?
감사