2012-07-26 103 views
2

我目前的单元测试使用的是QUnit,它们按照QUnit website中的说明执行。基本上所有我的测试中被编译成一个tests.js,这包括在index.html在Casper.js中运行QUnit测试

<!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我现有的单元测试?

回答

2

首先注入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一起工作,并且相信它是一个完美的途径。