2013-01-15 26 views
1

我是新來的幻影,希望有一些明顯的我錯過了。爲了說明這個問題,我將這個示例剝離到最低限度,在這種情況下,與Jasmine集成。PhantomJS不加載JavaScript(jasmine)庫嗎?

在我的javascript文件中,我打電話給page.open(...),並傳入一個包含Jasmine的本地html文件的名稱作爲參數。 HTML文件看起來是這樣的:

<!DOCTYPE html> 
<h2> 
    Reporter</h2> 
<head> 
    <title>Jasmine Spec Runner</title> 
    <link rel="stylesheet" type="text/css" href="Content/jasmine.css"> 
    <script type="text/javascript" src="Scripts/External/Jasmine/jasmine.js"></script> 

    <script type="text/javascript"> 
     jasmine.getEnv(); 
     jasmine.getEnv().addReporter(new jasmine.TeamcityReporter()); 
     jasmine.getEnv().addReporter(new jasmine.TrivialReporter()); 
     jasmine.getEnv().execute(); 
    </script> 
</head> 

當我打電話phamtomjs myJavaScriptFile.js myHtmlFile.htm我從幻象它怎麼也找不到變量名爲茉莉的消息。 (指的是jasmine.getEnv()方法調用)。

我知道一個事實,jasmine.js文件在該html文件中是可見的,所以我不確定幻像有什麼問題,或者如何進一步調試問題?

+1

Scripts/External/Jasmine/jasmine.js的路徑是否正確?如果PhantomJS無法加載它,很可能無法解析資源的位置。 –

+0

Phantom是否使用環境變量或其他方法來確定在查找資源時要查看哪些路徑?我的Phantom安裝位於'c:\ phantom'(不是很有想象力),但是我從myHtmlFile.htm所在的文件夾中調用它 - Scripts/External/Jasmine子文件夾位於其下。 (謝謝,在我忘記之前,對於PhantomJS--非常感謝。) – larryq

回答

0

看起來像我的一個路徑問題。幻影在htm文件路徑中不喜歡反斜槓,但想要前者。當我這樣做時,發現茉莉花不再是一個問題:

phantomjs c:\folder1\jasmine_tests\myJavaScriptFile.js c:\folder1/jasmine_tests/myHtmlFile.htm 
+1

非常奇特。請在我們的問題跟蹤器中提交錯誤!謝謝。 –