2012-08-10 14 views
5

Projemize javascript birim testi eklemeye çalışıyorum ve Jasmine Maven Plugin hakkında bilgi edinin. Ben yönergeleri takip ve benim pom.xml'Bu ile sona erdi:Jasmine Maven Eklentiyi dosya protokolü ile birlikte içeren

<plugin> 
    <groupId>com.github.searls</groupId> 
    <artifactId>jasmine-maven-plugin</artifactId> 
    <version>1.2.0.0</version> 
    <extensions>true</extensions> 
    <executions> 
     <execution> 
      <goals> 
       <goal>test</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <jsSrcDir>${project.basedir}/src/main/webapp/resources/js</jsSrcDir> 
     <jsTestSrcDir>${project.basedir}/src/test/javascript</jsTestSrcDir> 
    </configuration> 
</plugin> 

Ben mvn jasmine:bdd çalıştırmak ve beklenen çıkışı olsun. Sonra http://localhost:8234'a gidiyorum ve tek alacağım boş bir ekran. Benim js dosyaların her biri için konsolda bakmak ve görmek:

sayfa için HTML şöyle script'lerime dahil edilir
Not allowed to load local resource: file:///absolute/path/to/the/js/src/main/webapp/resources/js/myJS.js 

:

<script type="text/javascript" src="file:/absolute/path/to/the/js/src/main/webapp/resources/js/myJS.js"></script> 

Benim soru, neden eklenti mesafesindedir js inculde dosya protokolünü kullanarak? Bu genellikle böyle mi çalışır? Öyleyse, tarayıcımı yerel kaynağa izin verecek şekilde nasıl alabilirim? Bunu yapmasını engellemenin bir yolu var mı?

Sadece durumunda ben Firefox ve Chrome hem bu çalıştı önemli ve ben son zamanlarda bu konuda koştu

cevap

2

Ben OS X'i kullanıyorum ve sorun benim proje boşluk vardı bir dizinde olduğuydu içinde.

Bu, pencerelerin üzerindeydi, ancak OSX'de de aynı olabilir, bu yüzden denemeye değer.

Yani örneğin benim projem böyle bir dizinde oldu:

C:\directory with spaces\myproject

aşağıdaki sabit jasmine:bdd komuta onu değiştirme:

C:\directorywithoutspaces\myproject

İyi şanslar!

+0

Tam olarak benim sorunum buydu! Mekanları çıkardım ve şimdi harika çalışıyor. Teşekkürler! – dnc253