WebStorm'un Yasemin yöntemlerini tanımasını nasıl sağlayabilirim?


135

Bazı Jasmine özellikleri içeren bir node.js projem var . Spesifikasyonlar bir spesifikasyon / altdizindedir ve yasemin düğümü için gerekli olan .spec.coffee uzantısına sahiptir .

Ben benim Spec dosyaların açık bir zaman WebStorm IDE, yapılan tüm çağrılar beforeEachve describeve it"Çözülmemiş işlevin veya yöntemin o ()": mavi ile gösterilir squiggly araç ipucu ile altını çizmektedir. Ben kullanıyorum Yani rağmen 3.0 EAP ve gerekiyordu Yasemin desteğinin bir miktar var , otomatik olarak bu Jasmine'nin özellik dosyası olduğu gerçeğini üzerinde açmıyor.

Dosya> Ayarlar> JavaScript Kütüphaneleri'ne girmeyi ve Jasmine'i bir kütüphane olarak eklemeyi (jasmine-2.0.0.rc1.js yolunu belirterek) ve ardından Kullanım Kapsamı alt sayfasına gidip "Yasemin" i kontrol etmeyi denedim. "Proje" nin yanındaki açılır liste, ancak bunun hiçbir etkisi yoktu - Yasemin yöntemleri hala çözülmemiş olarak görünüyor.

WebStorm'a belirli bir alt dizindeki tüm dosyaların ve / veya .spec.coffee uzantılı tüm dosyaların Yasemin testleri olduğunu ve bu testlerin kullandığı Jasmine API'lerini tanımasını nasıl sağlayabilirim?


3.0 EAP'de de aynı sorun var. 2.1.5'te çalışmamın nedeni budur.
Microfed

Bunu , geliştiricilerin bu tür durumları gelecekteki sürümlerde ele alabilmeleri için youtrack.jetbrains.net/issues/WI adresinde bir sorun olarak göndermelisiniz .
CrazyCoder

@Microfed, yani 2.1.5'in Yasemin testlerini otomatik olarak tanıdığını mı söylüyorsunuz? Bu önceden yazılmış bir hata mı?
Joe White

Yanıtlar:


238

Webstorm / PHPStorm / Idea'da önceden tanımlanmış JS kitaplığı saplamalarını kullanabilirsiniz

  • Dosya> Ayarlar'ı açın ...
  • Seç Diller ve Çerçeveler > JavaScript> Kütüphaneler
  • İndir'i tıklayın ...

JavaScript Kitaplığı ayarları

  • Swich - TypeScript topluluk taslakları
  • Karma yasemin bul (aslen yasemin adı altında ) (Bu işe yaramazsa, yasemin deneyin )
  • İndir ve Yükle'ye tıklayın

resim açıklamasını buraya girin

Jasmine 2.0 ile bu kurulumu kullanıyorum


2
karma-yasemin denir, sadece bulmamıza yardımcı olmak için değiştirdiler
Andrzej Rehmann

7
Benim için çalışmıyor. "description", "beforeEach", "it" hala gri alt çizgi ile görünür.
BuildTester1

36
Karma kullanmıyorsanız, indirmek için 'yasemin' kütüphanesini seçebilirsiniz. Karma-Yasemin'i denedikten sonra benim için işe
yarayan şey bu oldu

22
Karma kullanmama rağmen, çalışmasını sağlamak için sadece yasemin indirmem gerekiyordu. karma-yasemin işe yaramadı.
Didier L

3
Son adım -
IDE'yi

30

Webstorm 2016.1.1 ile bir mac üzerinde aşağıdakileri yaptım:

  1. Açık Tercihler (webstorm-> tercih veya [command +,])
  2. Kütüphanelere ve çerçevelere gidin -> javascript -> kütüphaneler
  3. indir
  4. listeden 'yasemin - DefinitelyTyped'i seçin

Webstorm'a Yasemin desteği eklendi


4
Mac'te benim için çalıştı, ancak WebStorm'u kapatıp yeniden başlatmam gerekiyordu.
Jim

Ben indirdiğiniz jasmineWindows makinesinde IntelliJ 2016,3 kullanarak kütüphane ve hatta çalıştı olmadan yeniden başlatmayı.
Jelle

Ayrıca "Tip" i Global'den Projeye değiştirmek zorunda kaldım. Kitaplığı yükledikten sonra çift tıklayın, ardından "Görünürlük" ayarını değiştirin
providencemac

6

WebStorm ile JSHint gibi bir Kod Kalitesi Aracı kullanıyorsanız, global jasmin / karma-jasmine kitaplığını eklemenin JSHint hatalarından kurtulmadığını unutmayın.

JSHint ayarlarına WebStorm'un menü sistemi (Lang & Frameworks> JavaScript> Kod Kalitesi Araçları> JSHint) üzerinden erişmeniz ve hangi ortamda çalıştığını bilmek için onay kutusunu tıklamanız gerekir.

JSHint ayarı


Yasemin benim ortamımda eksik. Bu seninkinde nasıl ortaya çıktı?
Aseem Bansal

@AseemBansal hangi jshint sürümünü kullanıyorsunuz?
prasanthv

Sürüm 2.5.10 kullanıyorum
Aseem Bansal

4

TypeScript (ve Angular2) kullanarak , WebStorm Ayarlarında TypeScript derleyicisini etkinleştirmeniz yeterlidir ...

Ayarlar> Diller ve Ayarlar> TypeScript ...

Derleyici başlığı işaretinin altında ...

TypeScript Derleyicisini Etkinleştir ...

(Ayrıca tsconfig.json radyoyu kullan'ı tıkladım)

Yasemin yöntemleri şimdi tanınacak


Bu çözümün sorunu, kullandığımdan beri WebStormderlememi istememem . TypeScriptWebpack
theblang

İlginçtir, eğer new projectbir Angular CLIproje olarak bir proje yaparsam onları tanır. Neyin farklı olduğundan emin değilim.
theblang

TypeScriptimi aktarmak için gulp kullanıyorum, tsconfig.json'unuzu doğru şekilde ayarlarsanız TypeScript çıktı dosyaları oluşturmaz, sadece IDE'de doğrular.
danday74

Benim için çalıştı.
Tsconfig.json'u

Bu neredeyse benim için hatasız çalıştı. Ancak, bunu yaptığımda bu hata çıktısını WebStorm'da Typescript derleyici sekmesinden alıyorum: Hata: Hata: Ayrıştır tsconfig error [{"messageText": "Bilinmeyen derleyici seçeneği 'baseUrl'.", "Category": 1, "code ": 5023}, {" messageText ":" Bilinmeyen derleyici seçeneği 'lib'. "," Category ": 1," code ": 5023}, {" messageText ":" Bilinmeyen derleyici seçeneği 'typeRoots'. "," Kategori ": 1," kod ": 5023}]
Nikola Schou

4

Bunun nedeni eksik bir bağımlılık da olabilir (TypeScript'te geliştiriyorsanız).

Yüklediğinizden emin olun @types/jasmine

npm install --save-dev @types/jasmine

2

Kullanarak bir proje oluşturduktan sonra bu sorunla karşılaşırsanız Angular CLIgidin File -> Settings -> Languages & Frameworks -> JavaScript -> Librariesve kontrol edin {your-project-name}/node_modules.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.