Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Komut istemine geçiş yapmanıza gerek kalmadan daha popüler JavaScript çerçevelerinden bazılarını kullanarak Visual Studio'da birim testleri yazabilir ve çalıştırabilirsiniz. Hem Node.js hem de ASP.NET Core projeleri desteklenir.
Desteklenen çerçeveler şunlardır:
- Mocha (mochajs.org)
- Jasmine (Jasmine.github.io)
- Bant (github.com/substack/tape)
- Jest (jestjs.io)
- Vitest (vitest.dev)
CLI tabanlı proje (.esproj) için birim testleri yazma
Visual Studio 2022'de desteklenen CLI tabanlı projeler Test Gezgini ile çalışır. Vitest React ve Vue projeleri (daha önce Jest) için yerleşik test çerçevesidir ve Angular projeleri için Karma ve Jasmine kullanılır. Varsayılan olarak, her çerçeve tarafından sağlanan varsayılan testleri ve yazdığınız ek testleri çalıştırabilirsiniz. Test Gezgini'nde Çalıştır düğmesine basmanız yeterlidir. Test Gezgini'ni henüz açmadıysanız menü çubuğunda Test>Test Gezgini'ni seçerek bulabilirsiniz.
Komut satırından birim testleri çalıştırmak için Çözüm Gezgini'nde projeye sağ tıklayın, Terminalde Aç'ı seçin ve test türüne özgü komutu çalıştırın.
Birim testlerini ayarlama hakkında bilgi için aşağıdakilere bakın:
Burada basit bir örnek de verilmiştir. Ancak, tam bilgi için önceki bağlantıları kullanın.
Birim testi (.esproj) ekleme
Aşağıdaki örnek, Tek Başına TypeScript React Projesi şablonu olan Visual Studio 2022 sürüm 17.12 veya sonraki sürümlerde sağlanan TypeScript React proje şablonunu temel alır. Vue ve Angular için adımlar benzerdir.
Çözüm Gezgini'nde React projesine sağ tıklayın ve Proje Dosyasını Düzenle'yi seçin.
.esproj dosyasında gösterilen değerlerle aşağıdaki özelliklerin bulunduğundan emin olun.
<PropertyGroup> <JavaScriptTestRoot>src\</JavaScriptTestRoot> <JavaScriptTestFramework>Vitest</JavaScriptTestFramework> </PropertyGroup>Bu örnek, test çerçevesi olarak Vitest'i belirtir. Bunun yerine Mocha, Bant, Yasemin veya Jest belirtebilirsiniz.
öğesi,
JavaScriptTestRootbirim testlerinizin proje kökünün src klasöründe olacağını belirtir. Test klasörünü belirtmek de yaygındır.Çözüm Gezgini'nde npm düğümüne sağ tıklayın ve Yeni npm paketlerini yükle'yi seçin.
Aşağıdaki npm paketlerini yüklemek için npm paketi yükleme iletişim kutusunu kullanın:
- vitest
Bu paket, bağımlılıklar altındaki package.json dosyasına eklenir.
Uyarı
Jest kullanıyorsanız jest paketine ek olarak jest-editor-support npm paketi de gereklidir.
package.jsonbölümünde, bölümün
testsonuna bölümünü ekleyinscripts:"scripts": { ... "test": "vitest" },Çözüm Gezgini'nde src klasörüne sağ tıklayın veYeni Öğe> seçin ve ardından App.test.tsx adlı yeni bir dosya ekleyin.
Bu, yeni dosyayı src klasörünün altına ekler.
App.test.tsx'e aşağıdaki kodu ekleyin.
import { describe, it, expect } from 'vitest'; describe('testAsuite', () => { it('testA1', async () => { expect(2).toBe(2); }); });Test Gezgini'ni açın ( Test Test>Gezgini'ni seçin) ve Visual Studio testleri bulur ve görüntüler. Testler başlangıçta gösterilmiyorsa, listeyi yenilemek için projeyi yeniden derleyin.
Uyarı
Test Gezgini birim testlerinizi bulamayacağından TypeScript için
outfileseçeneğini kullanmayın. seçeneğini kullanabilirsinizoutdir, ancak vepackage.jsongibitsconfig.jsonyapılandırma dosyalarının proje kökünde olduğundan emin olun.Önemli
Çıkış penceresindeki Testler'den elde edilen çıkış, test bulma sırasında bir
ReadOnlySpanhata gösteriyorsa, bilinen bir MSBuild sorunu için aşağıdaki geçici çözümü kullanın. Visual Studio 2022 için Program Files\Microsoft Visual Studio\2022\<version>\Common7\IDE\Extensions\TestPlatform klasörünü açın ve System.Memory.dll farklı bir adla yeniden adlandırın. Bu düzeltme, test bulmayı etkinleştirir.
Testleri çalıştırma (.esproj)
Test Gezgini'nde Tümünü Çalıştır bağlantısına tıklayarak testleri çalıştırabilirsiniz. Alternatif olarak, bir veya daha fazla test veya grup seçerek, sağ tıklayarak ve kısayol menüsünden Çalıştır'ı seçerek testleri çalıştırabilirsiniz. Testler arka planda çalışır ve Test Gezgini otomatik olarak güncelleştirilir ve sonuçları gösterir. Ayrıca, sağ tıklayıp Hata Ayıkla'yı seçerek de seçili testlerde hata ayıklayabilirsiniz.
Aşağıdaki çizimde ikinci bir birim testinin eklendiği örnek gösterilmektedir.
Bazı birim testi çerçeveleri için birim testleri genellikle oluşturulan JavaScript koduna karşı çalıştırılır.
Uyarı
Çoğu TypeScript senaryosunda, TypeScript kodunda bir kesme noktası ayarlayarak, Test Gezgini'nde bir teste sağ tıklayarak ve Hata Ayıkla'yı seçerek birim testinde hata ayıklayabilirsiniz. Kaynak eşlemeleri kullanan bazı senaryolar gibi daha karmaşık senaryolarda, TypeScript kodunda kesme noktalarına isabet etmekte zorlanabilirsiniz. Geçici bir çözüm olarak anahtar sözcüğünü debugger kullanmayı deneyin.
Uyarı
Profil oluşturma testleri ve kod kapsamı şu anda desteklenmiyor.
CLI tabanlı bir proje (.esproj) için komut satırından birim testleri çalıştırma
Birim testlerini doğrudan birim test çerçevenizin komut satırından Visual Studio'yu kullanmadığınız gibi çalıştırabilirsiniz.
Testleri vstest.console kullanarak komut satırından çalıştırmayı da seçebilirsiniz. Örneğin, C# birim testleriyle tutarlılığı korumak veya Azure DevOps'ta çalıştırmak için vstest.console'u kullanmak isteyebilirsiniz. Aşağıdaki komutu kullanın, ancak değerini projenizin adıyla değiştirin MyProj .
vstest.console .\MyProj.esproj /TestAdapterPath:"C:\Program Files\Microsoft Visual Studio\18\Enterprise\Common7\IDE\Extensions\Microsoft\JavaScript"
vstest.console .\MyProj.esproj /TestAdapterPath:"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\JavaScript"
ASP.NET Core için birim testleri yazma
ASP.NET Core projesinde JavaScript ve TypeScript'in birim testi için destek eklemek için, gerekli NuGet paketlerini ekleyerek projeye TypeScript, npm ve birim testi desteği eklemeniz gerekir.
Birim testi ekleme (ASP.NET Çekirdek)
Aşağıdaki örnek, ASP.NET Core Model-View-Controller proje şablonunu temel alır ve Jest veya Mocha birim testi eklemeyi içerir.
ASP.NET Core Model-View-Controller projesi oluşturun.
Örnek bir proje için bkz. Mevcut ASP.NET Core uygulamasına TypeScript ekleme. Birim testi desteği için standart ASP.NET Core proje şablonuyla başlamanızı öneririz.
Çözüm Gezgini'nde (sağ bölme), ASP.NET Core proje düğümüne sağ tıklayın ve Çözümler için NuGet Paketlerini Yönet'i seçin.
Gözat sekmesinde aşağıdaki paketleri arayın ve her birini yükleyin:
NuGet paketini kullanarak npm TypeScript paketi yerine TypeScript desteği ekleyin.
Çözüm Gezgini'nde proje düğümüne sağ tıklayın ve Proje Dosyasını Düzenle'yi seçin.
.csproj dosyası Visual Studio'da açılır.
öğesindeki .csproj dosyasına
PropertyGroupaşağıdaki öğeleri ekleyin.Bu örnekte test çerçevesi olarak Jest veya Mocha belirtildi. Bunun yerine Bant veya Yasemin belirtebilirsiniz.
Çözüm Gezgini'nde ASP.NET Core proje düğümüne sağ tıklayın ve Yeni Öğe Ekle'yi >seçin. TypeScript JSON Yapılandırma Dosyasıseçin ve ardından Ekleseçin.
Tüm öğe şablonlarını görmüyorsanız, Tüm Şablonları Gösteröğesini ve ardından öğe şablonunu seçin.
Visual Studio, tsconfig.json dosyasını proje köküne ekler. TypeScript derleyicisi için seçenekleri yapılandırmak üzere bu dosyayı kullanabilirsiniz.
tsconfig.json açın ve varsayılan kodu aşağıdaki kodla değiştirin:
{ "compileOnSave": true, "compilerOptions": { "noImplicitAny": false, "noEmitOnError": true, "removeComments": false, "sourceMap": true, "target": "es5", "outDir": "wwwroot/js" }, "include": [ "scripts/**/*" ], "exclude": [ "node_modules", "tests" ] }Jest için, TypeScript testlerini JavaScript'e derlemek istiyorsanız testler klasörünüdışlama bölümünden kaldırın.
Betikler klasörü, uygulamanız için TypeScript kodunu yerleştirebileceğiniz yerdir. Kod ekleyen örnek bir proje için bkz. Mevcut ASP.NET Core uygulamasına TypeScript ekleme.
Çözüm Gezgini'nde projeye sağ tıklayın veYeni Öğe Ekle'yi> seçin (veya Ctrl + SHIFTA + basın). npm dosyasını bulmak için arama kutusunu kullanın, npm Yapılandırma Dosyası seçin, varsayılan adı kullanın ve Ekletıklayın.
Proje köküne birpackage.json dosyası eklenir.
Çözüm Gezgini'nde Bağımlılıklar'ın altındaki npm düğümüne sağ tıklayın ve Yeni npm paketlerini yükle'yi seçin.
Uyarı
Bazı senaryolarda, burada açıklanan bilinen bir sorun nedeniyle Çözüm Gezgini npm düğümünü göstermeyebilir. npm düğümünü görmeniz gerekiyorsa, projeyi kaldırabilirsiniz (projeye sağ tıklayıp Projeyi Kaldır'ı seçin) ve ardından npm düğümünü yeniden görüntülemek için projeyi yeniden yükleyebilirsiniz. Alternatif olarak, paket girdilerini package.json ekleyebilir ve projeyi oluşturarak yükleyebilirsiniz.
Aşağıdaki npm paketlerini yüklemek için npm paketi yükleme iletişim kutusunu kullanın:
package.jsonbölümünde, bölümün
testsonuna bölümünü ekleyinscripts:Çözüm Gezgini'nde test klasörüne sağ tıklayın veYeni Öğe Ekle'yi> seçin ve ardından App.test.tsx adlı yeni bir dosya ekleyin.
Bu işlem, yeni dosyayı test klasörünün altına ekler.
App.test.tsx'e aşağıdaki kodu ekleyin.
Test Gezgini'ni açın ( Test>Windows>Test Gezgini'ni seçin) ve Visual Studio testleri bulur ve görüntüler. Testler başlangıçta gösterilmiyorsa, listeyi yenilemek için projeyi yeniden derleyin. Aşağıdaki çizimde iki farklı birim testi dosyası içeren Jest örneği gösterilmektedir.
Uyarı
Test Gezgini birim testlerinizi bulamayacağından TypeScript için
outfileseçeneğini kullanmayın. seçeneğini kullanabilirsinizoutdir, ancak vepackage.jsongibitsconfig.jsonyapılandırma dosyalarının proje kökünde olduğundan emin olun.Önemli
Çıkış penceresindeki Testler'den elde edilen çıkış, test bulma sırasında bir
ReadOnlySpanhata gösteriyorsa, bilinen bir MSBuild sorunu için aşağıdaki geçici çözümü kullanın. Visual Studio 2022'de Program Files\Microsoft Visual Studio\2022\<version>\Common7\IDE\Extensions\TestPlatform klasörünü açın ve System.Memory.dll farklı bir adla yeniden adlandırın. Bu düzeltme, test bulmayı etkinleştirir.
Testleri çalıştırma (ASP.NET Core)
Test Gezgini'nde Tümünü Çalıştır bağlantısına tıklayarak testleri çalıştırabilirsiniz. Alternatif olarak, bir veya daha fazla test veya grup seçerek, sağ tıklayarak ve kısayol menüsünden Çalıştır'ı seçerek testleri çalıştırabilirsiniz. Testler arka planda çalışır ve Test Gezgini otomatik olarak güncelleştirilir ve sonuçları gösterir. Ayrıca, sağ tıklayıp Hata Ayıkla'yı seçerek de seçili testlerde hata ayıklayabilirsiniz.
Aşağıdaki çizimde Jest örneği gösterilmektedir ve ikinci bir birim testi eklenmiştir.
Bazı birim testi çerçeveleri için birim testleri genellikle oluşturulan JavaScript koduna karşı çalıştırılır.
Uyarı
Çoğu TypeScript senaryosunda, TypeScript kodunda bir kesme noktası ayarlayarak, Test Gezgini'nde bir teste sağ tıklayarak ve Hata Ayıkla'yı seçerek birim testinde hata ayıklayabilirsiniz. Kaynak eşlemeleri kullanan bazı senaryolar gibi daha karmaşık senaryolarda, TypeScript kodunda kesme noktalarına isabet etmekte zorlanabilirsiniz. Geçici bir çözüm olarak anahtar sözcüğünü debugger kullanmayı deneyin.
Uyarı
Profil oluşturma testleri ve kod kapsamı şu anda desteklenmiyor.