2013-12-19 3 views
4

Я использую CasperJS для запуска автоматических тестов интерфейса, но у меня возникли проблемы с использованием других модулей npm в моих тестах. Я знаю patchRequire, однако я считаю, что это нужно только вызывать вне тестовой среды, поскольку исправления для тестового бегуна требуют автоматически. Я включил его, но результаты были одинаковыми. В нем говорится, что он не может найти модуль. Я подтвердил, что модуль подчеркивания установлен в node_modules в корневой папке проектов.Не может требовать Подчеркнуть с CasperJS

Код

'use strict' 

_ = require 'underscore' 

testConfig = 
    testPageUrl: '' 
    testSearchTerm: 'the' 

config = _.extend testConfig, require 'common/config' 

кода в Javascript

'use strict'; 

_ = require('underscore'); 

testConfig = { 
    testPageUrl: '', 
    testSearchTerm: 'the' 
}; 

config = _.extend(testConfig, require('common/config')); 

Ошибка

CasperError: Can't find module underscore

ответ

6

Так решение, которое я нашел в конце концов, было создание прокси-модулей, которые импортируют модуль npm и экспортируют его в сценарий casper.

./proxies/underscore.js:

module.exports = require('underscore'); 

./tests/test.js

var _ = require('../proxies/underscore'); 
Смежные вопросы