2016-03-30 21 views
1

NUnit 3'ü çift [] bir listeyi içeren bir test yazmak ve bir uzantı yönteminin iadesini test etmek için kullanıyorum. Ancak testcase verilerini parametreler olarak almam için sınava giremiyorum. Her zaman bir kere null parametresiyle çalışır.NUnit 3 testcase source parametresinde test kullanmıyor

Örneği wiki'de kopyaladım neredeyse tam olarak nerede yanlış gittiğimi bilmiyorum. Nunit 2.6'dan geliyorum, böylece yeni şeyler yapma alışkanlığım yok. Yani muhtemelen çok açık bir şey.

Herhangi bir yardım için teşekkür ederiz. Böyle resharper olarak

[TestFixture] 
public class DoubleExtensionsTest 
{ 
    [Test, TestCaseSource(typeof(DoubleExtensionsTestData), "CoordinatesData")] 
    public bool IsValidCoordinatesWorksCorrectly(double[] values) 
    { 
     return values.IsValidCoordinates(); 
    } 

} 

public class DoubleExtensionsTestData 
{ 
    public static IEnumerable CoordinatesData 
    { 
     get 
     { 
      yield return new TestCaseData(new[] { 51.441860d, -0.066243d }).Returns(true); 
      yield return new TestCaseData(new[] { 48.856614d, 2.352222d }).Returns(true); 
      yield return new TestCaseData(new[] { -1.292066d, 36.821946d }).Returns(true); 
     } 
    } 
} 
+2

Testlerinizi nasıl yürütüyorsunuz? Konsolu denedin mi? R # veya çok eski NUnit bağdaştırıcısının eski sürümleri sınamaları hatalı olarak çalıştırır. Yeni NUnit 3 Visual Studio adaptörünü deneyin. –

+0

haklı olduğunuzu düşünün - 3.0 desteklemeyen testdriven.net'i kullanın. Bu olacak! Teşekkürler. – Bonnotbh

+0

TestDriven.net NUnit 3'ü destekliyorsa, NUnitTDNet NuGet paketini yüklemeniz gerekir. –

cevap

0

Yaşlı 3rdParty koşucular, çok eski NUnit 2 Visual Studio adaptörleri ve diğerleri doğru NUNIT 3 testler yoktur. Semptomlar genellikle OneTimeSetup no'lu çalışma şeklini almaz veya bu durumda TestCaseSource uygulanmaz. Daha fazla sıkıntı, asla göremeyeceğiniz yanlış pozitifler.

Testlerinizin davranışını kontrol ettiğinizde, 'u her zaman testlerinizi test çerçevesi ile birlikte çalışan runner ile çalıştırın, bu durumda nunit3-console.exe. Bu, testlerinizle veya seçilen koşucunuzla ilgili bir sorun olup olmadığını size söyleyecektir.

Bu durumda, testler, NUnit 3 testlerini doğru şekilde çalıştırmak için NUnitTDNet NuGet package'u yüklemenizi gerektiren TestDriven.NET kullanılarak çalıştırılıyordu.

Diğer bir seçenek NUnit 3 Test Adapter for Visual Studio'dur.

İlgili konular