aşağıdaki (eski, öncekilerden miras) gelmiş VB.Net (framework 2.0) Sınıflar ve Yöntemler Bir C# (framework 4.5) Unit Test projesinde ve mantığın bir kısmı, aValue
'un bir virgülle ayrılmış iki sayı olmasını gerektirir; bu nedenle, bir istisna ve olay günlüğü atar.Shim bir boşluk yöntemi
ben istisna doğru atılmış emin olmak için aşağıdaki Ünite Testi kurdunuz:
[TestClass]
public class MyClassUnitTest
{
private readonly StubMyClass myClass = new StubMyClass();
[TestMethod]
[ExpectedException(typeof(InvalidCastException))]
public void TestMyMethodInvalidMissingNumber()
{
this.myClass.MyMethod("0,");
}
}
Bu, tüm güzel çalışır ve MyMethod
mantığı beklenen duruma neden olur gibi deney, geçer. Ancak, Etkinlik Günlüğünün yazılmasını istemiyorum. Bu yüzden,numaralı aramayı durdurmak ve bunun yerine hiçbir şey yapmamak için MyUtitlityClass
'u nasıl kullanabilirim? Ben denemek ve böyle bir desen uygulamak gördüğüm
Tüm Sahte örnekler sahte değeri döndürür yöntemleri için (ve olan C# ile yazılmış tüm!), O LogError bir yok hata veriyor alıcı. C#,
Using context = ShimsContext.Create()
ShimMyUtilityClass.LogStringStringException =
Sub(aClass As String, aMethod As String, anException As Exception)
End Sub
End Using
Veya:
üzgün - oluşturucu bir dize terminatör ve biçimleri Meta-Knight @ hatalı – Shevek
olarak VB.Net yorumunu ' '' algılar - için teşekkürler VB yorumlarını nasıl alacağımı gösteriyor! – Shevek