2012-07-26 104 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一起工作,並且相信它是一個完美的途徑。