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.