Visual Studio 2017'de NUnit testleri nasıl çalıştırılır?


167

VS 2017'yi yeni kurdum. Test senaryoları için NUnit kullanan bir projem var. Ctrl+ R- Tartık testleri çalıştırmaz ve Test Gezgini artık TestCase özniteliğiyle işaretlenmiş hiçbir test vakası bulamaz.

Henüz NUnit'i çalıştırmanın bir yolu var mı veya bulabildiğim bir güncelleme var mı? NUnit'i Nuget Paket Yöneticisi'nden en son sürüme herhangi bir iyileştirme olmadan yeniden yükledim.


Öyleydi. NUnitTestAdapter yeniden yüklemem gerekiyordu. Bunu bir çözüm olarak sunabilir misiniz?

2
NUnit'i zaten yüklediniz, değil mi? Şimdi VS 2017'de NUnit testlerini çalıştırmak için NUnit3TestAdapter yüklemeniz gerekiyor.
Ripon Al Wasim

Bu neden 2019 da etiketlendi?
UuDdLrLrSs

Yanıtlar:


207

NUnit test adaptörü NuGet paketini test projelerinize ekleyin

Veya Test Adapter visual studio uzantısını yükleyin. İçin bir tane var

NuGet paketini tercih ediyorum, çünkü projeniz tarafından kullanılan NUnit sürümüyle senkronize olacak ve böylece herhangi bir derleme sunucusunda kullanılan sürümle otomatik olarak eşleşecek.


2
Perfecto !! VS 2017 ile mayın üzerinde çalıştı. Test Adaptörü 2.0 yüklendiyse, eşleşmelidir -> Nuget paketi NUnit 2.xx sürümünü güncelleyin. Test Bağdaştırıcı 3.0 -> nuget paketini 3.xx olarak güncellerseniz Teşekkürler @jessehouwing
Anand Gangadhara

17
Ayrıca , en azından .NET Core'u hedefliyorsanız, Microsoft.NET.Test.Sdk dosyasına başvurduğunuzdan emin olun . Bu referansı kaçırdığımı göz ardı ettim.
Dan Jagnow

5
Çözümlerin hiçbiri işe yaramadığı için uzunca bir süre bununla sıkıştım. Sonra bu satırdan hedef ".NET Standard" ile bir sınıf kitaplığı çalışmadığını anladım . Test projesi .NET Core'u hedeflemelidir. Ayrıca, Microsoft.NET.Test.SdkNuGet gereklidir.
Arghya C

3
NUnit test adaptörü NuGet paketini seçmenin başka bir iyi nedeninin, meslektaşlarınızın herhangi bir VS uzantısı yüklemesi gerekmeyeceğinden bahsetmeye değer. Ayrıca, yapı sunucunuzun ek taksitlere de ihtiyacı yoktur.
Jim Aho

1
Ben her ikisi de yüklü ama nasıl bu testleri çalıştırmak için belli değil. View / diğer pencerelere baktı ama nunit test kaşifini bulamıyorum
Sonic Soul

37

NUnitTestAdapter kurmanız gerekiyor. NUnit'in en son sürümü 3.xy (3.6.1) ve NUnit3TestAdapter ile birlikte NUnit 3.xy'yi yüklemelisiniz

NUnit3TestAdapter'ı Visual Studio 2017'ye yüklemek için aşağıdaki adımları izleyin:

  1. Proje'ye sağ tıklayın -> Bağlam menüsünden "Nuget Paketlerini Yönet .." seçeneğine tıklayın
  2. Gözat sekmesine gidin ve NUnit'i arayın
  3. NUnit3TestAdapter'ı seçin -> Sağ tarafta Yükle'yi tıklayın -> Önizleme açılır penceresinden Tamam'ı tıklayın resim açıklamasını buraya girin

"NuGet Paket Yöneticisi" ni VS'nin Proje menüsünden de açabilirsiniz.
Ripon Al Wasim

26

Bu bana yardımcı oldu: https://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/07/27/getting-started-with-net-unit-testing-using-nunit.aspx

Temelde:

  • Nuget'te NUnit 3 kütüphanesini ekleyin.
  • Test etmek istediğiniz Sınıfı oluşturun.
  • Ayrı bir Test Sınıfı oluşturun, bunun üzerinde [TestFixture] bulunmalıdır.
  • Test Sınıfında bir işlev oluşturun, bunun üzerinde [Test] bulunmalıdır.
  • Ardından TEST / PENCERE / TEST EXPLORER'a gidin (üstte).
  • Sol taraftaki çalıştır düğmesini tıkladığınızda, neyin geçtiğini ve neyin başarısız olduğunu size söyleyecektir.

Örnek kodum burada:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;

namespace NUnitTesting
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }

    public class Maths
    {
        public int Add(int a, int b)
        {
            int x = a + b;
            return x;   
        }
    }

    [TestFixture]
    public class TestLogging
    {
     [Test]
     public void Add()
        {
            Maths add = new Maths();
            int expectedResult = add.Add(1, 2);
            Assert.That(expectedResult, Is.EqualTo(3));
        }
    }
}

Is.EqualTo parametresini değiştirirseniz başarısız olur, vb.


test / windows / test explorer yaptığımda hiçbir şey bulunamadı
ctrl-alt-delor

Ctrl-alt-delor bu Visual Studio 2019'daki Test / TestExplorer, bu Microsoft'un son zamanlarda yaptığı ince bir değişiklik olabilir.
Lee

11

3 NuGet paketi yüklemeniz gerekir:

  • Nunit
  • NUnit3TestAdapter
  • Microsoft.NET.Test.Sdk

Eğlenceli yazı birimi testleri!


8
  • VS'de Unit-Tests işlemci mimarisini seçmelisiniz:
    Test > Test Settings > Default processor architecture

  • Test Adaptörü testleri görmek için açık olmalıdır: (VisualStudio örn .:
    Test->Windows->Test Explorer


Neler olduğuna dair ek bilgiler 'VS-Output-Window'da düşünebilir ve' Aşağı açılır 'Çıktıyı göster' seçeneğini belirleyip 'Testler'i ayarlayabilirsiniz.


Bu çok önemli cevap, çok teşekkürler, doğru "Varsayılan işlemci mimarisi" sabit sorunu ayarlayın.
Nikita Danilov

1

CLI kullanarak, çalışan bir NUnit projesi oluşturmak gerçekten kolaydır. Şablon sizin için her şeyi yapar.

dotnet new -i NUnit3.DotNetNew.Template
dotnet new nunit

.NET Core'da bu kesinlikle tercih ettiğim yol.


0

Visual Studio 2017'de testi çalıştırmak veya hata ayıklamak için "NUnit3TestAdapter" yüklememiz gerekir. Herhangi bir VS'ye yükleyebiliriz, ancak VS "topluluk" sürümünde düzgün çalışıyor. Bunu kurmak için Nuget Paketi ile ekleyebilirsiniz.


0

Visual Studio 2019 ile ilgili sorunları olan herkes için:

Testleri Çalıştır / Hata Ayıkla seçeneği sağ tıklama menüsünde görünmeden önce ilk olarak Test> Windows> Test Gezgini'ni açmam ve testleri oradan çalıştırmam gerekiyordu.

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.