Я экспериментирую с opencv, и я только что создал модуль «Face Finder».Как проверить код привязки OpenCV nodejs в модуле?
Код работает хорошо. Однако мой мокко-тест не выполняет весь код.
Вот мой репозиторий: https://github.com/scaryguy/facefinder
Когда я запускаю этот тест:
describe('FaceFinder', function() {
it('should work', function() {
return FaceFinder('/Users/scaryguy/arge/opencv/facefinder/test/fixtures/childFaces.jpg', '/Users/scaryguy/arge/opencv/facefinder/')
});
});
Мой код выполняется частично.
Посмотрите, где я прокомментировал строку, где код выполняется последним.
// https://github.com/scaryguy/facefinder/blob/master/lib/find.js
Find.prototype.image = function(cb) {
var img = this;
cv.readImage(img.image_path, function(err, im) {
if (err) return cb(err, false);
// WHEN I console.log something here it's shown
im.detectObject(cv.FACE_CASCADE, {}, function(err, faces) {
// BUT here is never run WHILE executing the test.
if (err) return cb(err, false);
for (var i = 0; i < faces.length; i++) {
var x = faces[i]
im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2);
}
im.save(img.output_name + ".jpg");
console.log("Number of found faces: " + faces.length + "\n");
cb(null, true);
});
})
}
Странно, когда мне нужен этот модуль и запускайте код, он отлично работает. Но это не работает во время тестирования. И нет ошибки.
Любые идеи?