Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>Specs RunnerNew to Visual Studio Code? Get it now.
Specs Runner

Specs Runner

ciceksepeti

|
2 installs
| (0) | Free
Gherkin .feature dosyalarında her senaryonun ve feature'ın üstüne Run ve Debug butonu (CodeLens) ekler; senaryoya özel tag'i sıradan bağımsız bulup yapılandırılabilir komutlarla çalıştırır.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Specs Runner

Gherkin .feature dosyalarında her senaryonun ve feature'ın üstüne Run (▶) ve Debug butonu ekler. Tek tıkla, senaryoya özgü tag ile testi entegre terminalde çalıştırır veya breakpoint'lerle hata ayıklar.

Özellikler

  • Run / Debug CodeLens — her Scenario: ve Feature: satırının üstünde tıklanabilir butonlar.
  • Sıradan bağımsız tag tespiti — tag yazım sırası veya proje farkı önemli değil; senaryoya özel tag otomatik bulunur.
  • Tek senaryo veya tüm feature — senaryo butonu o senaryoyu, feature butonu tüm feature'ı çalıştırır.
  • Breakpoint'li Debug — Debug butonu testhost'a .NET debugger'ı otomatik bağlar; C# adım tanımlarındaki breakpoint'ler çalışır. VSTest giriş durakları otomatik geçilir, böylece manuel "Continue" gerekmez.
  • Klavye kısayolları — Cmd/Ctrl+Shift+S (Run), Cmd/Ctrl+Shift+D (Debug): imlecin bulunduğu senaryoyu çalıştırır.
  • Sağ tık menüsü — .feature dosyalarında Run/Debug komutları.
  • Yapılandırılabilir komutlar — varsayılan bash run.sh <tag> / bash debug.sh <tag>; kendi runner'ınıza uyarlanabilir.

Kullanım

  1. Bir .feature dosyası açın.
  2. Bir senaryonun üstündeki ▶ Run veya Debug butonuna tıklayın.
  3. Komut entegre terminalde çalışır (Debug için debugger otomatik bağlanır).

Tüm feature'ı çalıştırmak için Feature: satırının üstündeki ▶ Run Feature / Debug Feature butonlarını kullanın.

Tag tespiti

Her senaryo birden çok tag taşıyabilir (@featureTag @featureTag_scenarioSlug @prod @staging). Specs Runner, çalıştırılacak senaryoya özel tag'i şu şekilde seçer:

  1. Ortam/etiket tag'lerini (@prod, @staging, @test, …) hariç tutar.
  2. specsRunner.tagRegex tanımlıysa eşleşen tag'i kullanır.
  3. Aksi halde dosyada yalnızca bir kez geçen (senaryoya özel) tag'i seçer.
  4. Belirsizlik kalırsa hızlı seçim (quick pick) ile sorar.

Bu sayede tag'lerin yazım sırasından bağımsız çalışır.

Ayarlar

Ayar Varsayılan Açıklama
specsRunner.command bash run.sh ${tag} Run komutu. ${tag}, ${file}, ${workspaceFolder} değişkenlerini destekler.
specsRunner.debugCommand bash debug.sh ${tag} Debug komutu. Aynı değişkenleri destekler.
specsRunner.envTags ["prod", "staging", "test", …] Tag seçiminde hariç tutulan ortam/etiket tag'leri.
specsRunner.tagRegex "" Çalıştırılacak tag'i seçmek için opsiyonel regex.
specsRunner.terminalName Specs Runner Komutun çalıştığı entegre terminalin adı.
specsRunner.clearTerminalBeforeRun false Her çalıştırmadan önce terminali temizle.
specsRunner.showFeatureLens true Feature: satırına Run/Debug butonu ekle.
specsRunner.autoContinueEntryBreaks true Debug sırasında VSTest giriş duraklarını otomatik geç (manuel Continue gerekmez).
specsRunner.ignorePaths ["/ci-test/"] Bu alt-yolları içeren .feature dosyalarında devre dışı kal.

Ayarları proje bazında .vscode/settings.json ile geçersiz kılabilirsiniz:

{
  "specsRunner.command": "bash run.sh ${tag}",
  "specsRunner.debugCommand": "bash debug.sh ${tag}",
  "specsRunner.tagRegex": "^[a-z][A-Za-z0-9]*_[A-Za-z0-9]+$"
}

Debug akışı

Debug butonu specsRunner.debugCommand'i çalıştırır. Önerilen debug.sh akışı:

  1. Build artefaktlarını ve geçici dosyaları temizle.
  2. Debug konfigürasyonunda derle.
  3. Testhost'u debugger'a hazır şekilde başlat.

Specs Runner, testhost sürecini yakalayıp .NET debugger'ı otomatik bağlar; breakpoint'ler tetiklenir, giriş durakları atlanır. Breakpoint'li debug için C# eklentisi (ms-dotnettools.csharp) gereklidir.

Gereksinimler

  • Visual Studio Code ^1.60.0
  • Breakpoint'li debug için: C# eklentisi (ms-dotnettools.csharp)

Kurulum

code --install-extension specs-runner-1.1.0.vsix

Lisans

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft