我无法从命令行获取最简单的mocha-phantomjs测试以在Windows上运行。它似乎运行javascript - 因为我可以看到console.log
的一些输出,但我没有看到任何测试输出。
我在以下软件包上做了npm install
测试\牛test.js :
console.log("fred1");
describe("OnePlusFour", function() {
it("should be able to add two numbers", function() {
chai = require('chai');
var expect = chai.expect;
var first = 1;
var second = 4;
expect(first + second).to.equal(5);
});
});
console.log("fred2");
cow.html :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cow tests</title>
<link rel="stylesheet" media="all" href="./node_modules/mocha/mocha.css">
</head>
<body>
<div id="mocha"></div>
<script src="./node_modules/mocha/mocha.js"></script>
<script src="./node_modules/chai/chai.js"></script>
<script>
mocha.setup('bdd');
</script>
<script src="test/cow-test.js"></script>
<script>
mocha.run();
</script>
</body>
</html>
当我在javascript文件上运行mocha时,我得到了正确的测试输出:
D:\Sandbox\GummyBear>mocha test\cow-test.js
fred1
fred2
OnePlusFour
√ should be able to add two numbers
1 passing (10ms)
耶!但是当我在HTML文件上运行mocha-phantomjs时,我只得到控制台输出而没有测试:
D:\Sandbox\GummyBear>mocha-phantomjs cow.html
fred1
fred2
^CTerminate batch job (Y/N)? y
我必须使用Ctrl + Break来终止它,否则它将永远留在那里。嘘声。
我做错了什么?
顺便说一下BTW最终我想用gulp来解决这个问题。我使用MVC Boilerplate模板创建了一个带有ASP.NET Core,bower和gulp等的项目结构,但我陷入了javascript单元测试阶段(gulp-mocha-phantomjs给出了错误&#34; mocha未找到页面加载10000ms内的页面。&#34;)。所以为了解决这个问题,我想先了解一下JS单元测试的基础知识。