Can't require Underscore with CasperJS

casperjs, javascript, node.js, phantomjs

Solution

So solution I eventually found was to create proxy modules that import the npm module and export it out to the casper script.

`./proxies/underscore.js:`

module.exports = require('underscore');

`./tests/test.js`

var _ = require('../proxies/underscore');

Problem

I'm using `CasperJS` to run automated frontend tests but have run in to an issue with using other npm modules in my tests. I'm aware of `patchRequire` however I believe that is only to be called outside of the test environment as the test runner patches require automatically. I did include it but the results were the same. It says it can't find the module. I have confirmed the underscore module is installed in `node_modules` in the projects root folder. Code ``` 'use strict' _ = require 'underscore' testConfig = testPageUrl: '' testSearchTerm: 'the' config = _.extend testConfig, require 'common/config' ``` Code in Javascript ``` 'use strict'; _ = require('underscore'); testConfig = { testPageUrl: '', testSearchTerm: 'the' }; config = _.extend(testConfig, require('common/config')); ``` Error CasperError: Can't find module underscore

Original source