Bir saplama olarak tanımlamak zorunda kalmadan bir saplama/aldatmanın nesne üyesi çağrısıyla uğraşmak ve dönüş değerini tüm ayrı ayrıntılı çizgiler olarak ayarlamak mümkün mü?Can Rhino Daha derin/iç içe üyeler doğrudan mı?
Örnek:
[TestMethod]
public void AssignedPermissions_AssociateExists_ReturnsEdit_Rhino()
{
//Arrange
var fakeConfiguration = MockRepository.GenerateStub<IDomainControllerConfiguration>();
var fakeAssociateRepository = MockRepository.GenerateStub<IAssociateRepository>();
fakeConfiguration.Stub(x => x.AssociateRepository).Return(fakeAssociateRepository);
fakeAssociateRepository.Stub(x=>x.GetAssociatesByRole(null,false,null)).IgnoreArguments()
.Return(new IAssociate[]{MockRepository.GenerateStub<IAssociate>()});
var domain = new DomainController(fakeConfiguration);
const AssignedPermission expected = AssignedPermission.Edit;
//Act
AssignedPermission actual = domain.AssignedPermissions();
//Assert
Assert.AreEqual(expected, actual);
}
tüm bu geçici değişkenler gerekli mi sadece iç içe yöntem çağrıları saplama için?
Sen Demeter yasasını ihlal sonuçlarından biri karşılaştık: http://clintshank.javadevelopersjournal.com/long_unit_test_setup. htm –
@wcoenen well .. konfigürasyon nesnesi, doğrudan arayanın içinden ne iş yapar düşünür müsün? En azından bu bir yuvalanma seviyesi önemli veya değerli görünüyor. Çoğunlukla sadece bir DTO – Maslow
olduğu için, yapılandırma nesnesinde geçiş yöntemleri eklemeniz gerekmez. Neden sadece depo için bir kurucu argüman eklemiyorsunuz? yeni DomainController (fakeConfiguration, fakeRepository); ' –