ATM我正在使用node.js
+ express
+ mongodb
处理小型项目。逻辑在web上,但是从我的node.js服务器加载。我的index.html
<script src="./app.js"></script>
<script type="text/javascript">
var debug = false;
$(document).ready(function() {
app.start();
});
</script>
我的测试功能 - 意味着我使用无头浏览器(Zombie
),我得到了istanbul
覆盖率的良好迹象。我尝试blanket
失败了。
process.env['TEST'] = true;
var app = require('../server/JS_TPV.server.js');
var mongodb = require('mongodb');
var should = require("should");
var Browser = require("zombie");
var browser;
然后像:
before(function(done) {
var populateDB = require('../install/JS_TPV.mongo_db_fill.js');
populateDB.install(function() {
browser = new Browser({debug:false, silent:false});
browser.visit("http://localhost:8080").then(done,done);
console.log("visited ending BEFORE");
});
});
但是由于正在访问index.html
文件并且其上的所有js
文件都已加载,我认为它也应该显示它的覆盖范围。
有什么方法可以证明这一点吗?
或者唯一的方法是通过生成html类测试来检查我的网络功能? (是的,或者使用require.js
并测试所有逻辑节点风格)。
谢谢!
答案 0 :(得分:1)
你可以:)
关键点是
你可以在这里找到一个示例:https://github.com/ericminio/yop-promises/blob/master/test/promises.with.browser.spec.js
按顺序npm run cover
和npm run report
运行,然后导航到coverage文件夹以查找报告。不要运行Zombie测试,看看它是如何影响代码覆盖率的。
这是Zombie和伊斯坦布尔的一个例子,所以它真的特别针对这两个工具如何让你通过上述2点。