2013-04-25 17 views
5

NUnit'te mevcut testi NUnit.Framework.TestContext.CurrentContext ile almak mümkündür. Yerel makinemde testler yürüttüğümde, bu test sırasında doğru şekilde doldurulur. Ancak, TeamCity çalıştıran bir dev sunucusuna aktarıldığında, bu veri yapısında hataya neden olan bir sorun vardır. Bu hatalar, context.Test.FullName, context.Test.Name ve context.Result erişirken ortaya çıkar. Örneğin, aşağıdaki kodla:TeamCity NUnit runner'da geçerli TestContext nasıl edinilir

var name = NUnit.Framework.TestContext.CurrentContext.Test.Name; 

bu durum oluşur, ancak TeamCity testler yalnızca:

TearDown method failed. TearDown : System.NullReferenceException : Object reference not set to an instance of an object. 
--TearDown 
    at NUnit.Framework.TestContext.TestAdapter.get_Name() 

TeamCity TestContext doldurma değil mi ya bu almak için doğru bir yol yoktur veri?

cevap

1

En iyi tahmin: Bu mümkün değil çünkü TeamCity TestContext veri yapılarını doldurmuyor. Ne de olabilir, çünkü NUnit'teki diziciler kamuya açık değildir. Bu işlevin çalışması için NUnit'in muhtemelen değiştirilmesi gerekiyor. Bu sınırlamayı aşmak için, kendi test koşumuzu test başarısızlığını göstermek için özel bir veri yapısıyla yazdık (bunun esas amacı buydu).

İlgili konular