Obecnie w ramach mojego projektu obiektu domeny jak poniżej istnieje:właściwości Testowanie z prywatnymi ustawiaczy
public class Address
{
public virtual string HouseName { get; set; }
public virtual string HouseNumber { get; set; }
public virtual string RoadName { get; set; }
public virtual string Postcode { get; set; }
public virtual string District { get; private set; }
}
własność Powiatu obliczona kolumna w bazie danych. Ze względu na wymagania dostawcy dostępu do danych (Entity Framework) wymagany jest zestaw prywatny. Jest to dobre rozwiązanie w normalnym przebiegu programu jako dzielnica nie musi być ustawiony, ze względu na to aktualizowany, gdy rekord Adres jest zapisany/aktualizowane w bazie
Sposób, że chcę testu wygląda następująco:
public IEnumerable<House> GetHousesWithinSameDistrict (int addressId)
{
var addressToMatch = _addressRepository
.FirstOrDefault(address => address.Id == addressId)
return _houseRepository
.Where(house => house.Address.District == addressToMatch.District)
}
Powoduje to problemy podczas próby ustawienia zmiennej addressToMatch, ponieważ nie jestem w stanie ustawić właściwości District i jako taka nie mogę napisać testu sprawdzającego, czy zwracane są poprawne pasujące adresy.
W jaki sposób powinienem wykonać konfigurację obiektu Adres dla tego testu?
Może '' chroniony internal' + montaż: InternalsVisibleTo'? –
@ DeblatonJean-Philippe Podobne, ale na pewno nie duplikaty IMHO. – Jeroen
@ DeblatonJean-Philippe Wcale nie jest to duplikat tego. – FLSH