Moq - Wie die Rückkehr der eine verspottet Objekt von einer Methode?

Ich bin neu auf Moq und möchten nicht nur unit-tests, wo ich mich meistens kommen Sie aber im code.

Angesichts dieser Entität:

 namespace TestBed.Domain.Entities
 {
    public class Person
    {
        public string LastName { get; set; }
        public string FirstName { get; set; }
        public string PhoneNumber { get; set; }
        public string JobTitle { get; set; }
    }
 }

und diese abstrakten Repository:

using TestBed.Domain.Entities;

namespace TestBed.Domain.Abstract
{
    public interface IPersonRepository
    {
        Person GetPerson();
    }
}

Ich will Moq füllen Sie einen dummy-person (!) und pass bevölkert "Objekt" aus der Repository-Methode. Wie mache ich das?

using TestBed.Domain.Abstract;
using TestBed.Domain.Entities;
using Moq;

namespace TestBed.Domain.Concrete
{
    public class MockPersonReqpository
    {
        Person GetPerson()
        {
            Mock<IPersonRepository> mock = new Mock<IPersonRepository>();
            mock.Setup(m => m.GetPerson()).Returns(new Person()
                                                       {
                                                           FirstName = "Joe",
                                                           LastName = "Smith",
                                                           PhoneNumber = "555-555-5555"
                                                       });
            return mock.Object //NO
        }

    }
}

InformationsquelleAutor Sam Gentile | 2011-07-13

Schreibe einen Kommentar