Node.js 如何使用mocha phantomjs测试Node js应用程序

Node.js 如何使用mocha phantomjs测试Node js应用程序,node.js,phantomjs,mocha.js,chai,Node.js,Phantomjs,Mocha.js,Chai,我需要用mocha phantomjs测试我的Node js应用程序。我尝试了下面的代码来测试这个应用程序,但我得到的错误是“ReferenceError:找不到变量:require”。如何解决这个问题 test.html <html> <head> <title> Tests </title> <link rel="stylesheet" href="./node_modules/mocha/mocha.css" />

我需要用mocha phantomjs测试我的Node js应用程序。我尝试了下面的代码来测试这个应用程序,但我得到的错误是“ReferenceError:找不到变量:require”。如何解决这个问题

test.html

<html>
<head>
    <title> Tests </title>
    <link rel="stylesheet" href="./node_modules/mocha/mocha.css" />
</head>
<body>
    <div id="mocha"></div>
    <script src="../node_modules/mocha/mocha.js"></script>
    <script src="../node_modules/should/lib/should.js"></script>

    <script>
        mocha.ui('bdd');
        mocha.reporter('html');

       </script>
   <script src="test.js"></script>
    <script>
        if (window.mochaPhantomJS) { mochaPhantomJS.run(); }
        else { mocha.run(); }
    </script>
</body>
</html>
当以mocha phantomjs test/test.html运行html文件时,我得到的错误如下

      ReferenceError: Can't find variable: require

看看browserify,它使您能够自动包含npm库:


还建议在开发中使用connect browserify进行自动重新加载,在生产中使用asset rack进行自动绑定。

因此,我认为您的问题在于,通过测试运行程序运行测试基本上就像在客户端运行测试一样。因此,它将无法找到本机节点模块(如require)。您可以尝试直接加载。或者,只是使用

    <script src="../node_modules/chai/chai.js"></script>
    <script>
        mocha.ui('bdd'); 
        mocha.reporter('html');
        var should = chai.should; // This will give you access to chai should.
    </script>

mocha.ui(“bdd”);
mocha.reporter('html');
var should=chai.should;//这将使您能够访问柴应。

因此,您不需要任何您需要src的东西。再一次,把这当作你在客户端做的每件事

浏览器的API中没有require,phantomjs和mocha phantomjs不会为您介绍它。
    <script src="../node_modules/chai/chai.js"></script>
    <script>
        mocha.ui('bdd'); 
        mocha.reporter('html');
        var should = chai.should; // This will give you access to chai should.
    </script>