Bir uzatma yönteminin sonuçlarına bağlı bir test yazıyorum, ancak bu uzatma yönteminin gelecekte bu testi kırmasını istemiyorum. Bu sonucu alay etmek bariz bir seçim gibi görünüyordu, ancak Moq statik bir yöntemi geçersiz kılmak için bir yol sunmuyor gibi görünüyor (bir uzatma yöntemi için bir gereklilik). Moq.Protected ve Moq.Stub ile benzer bir fikir var, ancak bu senaryo için hiçbir şey sunmuyorlar. Bir şey mi özlüyorum yoksa bunu farklı bir şekilde mi yapmalıyım?
İşte olağan "geçersiz kılınamayan bir üye için geçersiz beklenti" ile başarısız olan önemsiz bir örnek . Bu, bir uzatma yöntemiyle dalga geçmeye ihtiyaç duymanın kötü bir örneğidir, ancak yapmalıdır.
public class SomeType {
int Id { get; set; }
}
var ListMock = new Mock<List<SomeType>>();
ListMock.Expect(l => l.FirstOrDefault(st => st.Id == 5))
.Returns(new SomeType { Id = 5 });
Bunun yerine Isolator kullanmamı önerebilecek herhangi bir TypeMock bağımlısına gelince: TypeMock işi gözü kapalı ve sarhoş bir şekilde yapabileceği için gösterilen çabayı takdir ediyorum, ancak bütçemiz yakın zamanda artmıyor.