bu kuruluşu ısrar NHibernate kullanıyorum: Id
tesiste korumalı Ayarlayıcısı olan nasılYalnızca NHibernate tarafından ayarlanması gereken test edilen korumalı özellikleri nasıl ölçerim?
public class Store
{
public int Id { get; protected set; }
public int Name { get; set; }
}
Not. Bu, kullanıcıların Id
'u değiştirmelerini engellemek ve NHibernate'in onu veritabanına kaydederken Id
atamasına izin vermektir.
, benim depo dışarı alay aşağıdaki kodla Moq kullanıyorum: Yeni bir Store
örneğini döndürmek için Moq anlattığımda
var mock = new Mock<IRepository>();
mock.Setup(x => x.GetById<Store>(It.IsAny<int>()))
.Returns(new Store { Value = "Walmart" }); // can't set the ID here
var store = Repository.GetById<Store>(5);
Assert.That(store.Id == 5);
, ben atanamıyor ID ve birim testi başarısız olur. Bu özelliği nasıl test edebilirim? Kullanıcıların bunu manuel olarak değiştirmesini istemediğimden, mülkün erişim düzeyini değiştirmek istemiyorum, ancak bunu test etmek için burada yapmak zorunda olduğum tam da buydu.
Teşekkür, asla Mağaza nesnesinin kendisinin alay konusu olduğu düşünüldü! –
Hoşgeldin, normalde bunu arayüzlerle kullanıyorum, ancak zaten her şey için NHibernate için sanal olarak sahip olmanız gerektiğinden, bu harika bir uyum. – arootbeer