我当前的单元测试使用的是QUnit
,它们按照QUnit website上的描述执行。基本上,我的所有测试都被编译成tests.js
,这包含在index.html
中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>QUnit Example</title>
<link rel="stylesheet" href="/resources/qunit.css">
</head>
<body>
<div id="qunit"></div>
<script src="qunit.js"></script>
<script src="tests.js"></script>
</body>
</html>
所以我的问题是,如何在Casper.js中使用现有的单元测试?
发布于 2012-10-18 00:36:56
首先向您的网站注入QUnit,大概还有您的测试,就像jQuery一样(在casper.start函数中执行此操作)。这些文件必须绝对位于您的本地计算机上才能工作。
casper.page.injectJs('/path/to/qunit.js');
casper.page.injectJs('/path/to/tests.js');
您需要使用evaluate function
casper.evaluate(function() {
// this code is run in the context of your website
doTests();
});
来执行你的测试。
您可以编写一个函数来返回测试结果并将其写入命令行。或者,对于我们中比较懒惰的人,您可以使用以下命令截图
casper.capture('testResults.png');
在评估之后。
我还没有测试过这种特殊的方法,但我最近一直在使用CasperJS,我相信它是实现您所希望实现的目标的一条有效途径。
发布于 2013-07-13 04:34:54
有几种方法可以集成https://github.com/ariya/phantomjs/wiki/Headless-Testing中列举的QUnit和CasperJS
在撰写本文时,它是内置支持、Chutzpah、JS Test Runner、QLive和QUnited。
https://stackoverflow.com/questions/11678028
复制