lundi 25 janvier 2016

Unittest saveorupdate-method on a repository

I'm writing unittests. I'm using Moq and Microsoft.VisualStudio.TestTools.UnitTesting.

I have the following already in place and working:

 Mock<PersonRepository> _persoonRepository;
    IEnumerable<Domain.Person> _personen;

    [TestInitialize()]
    public void Initialize()
    {
        // *Arrange*
        var mockSet = new Mock<DbSet<Domain.Person>>();
        var mockContext = new Mock<DatabaseContext>();
        mockContext.Setup(m => m.Persons).Returns(mockSet.Object);
        _persoonRepository = new Moq.Mock<PersonRepository>(mockContext.Object);
        _personen = new List<Domain.Person>() { new Domain.Person { ID = 1, Name = "Bart Schelkens", GewerkteDagen = 200, Leeftijd = 52, Type = "1" },
                                        new Domain.Person { ID = 2, Name = "Yoram Kerckhofs", GewerkteDagen = 190, Leeftijd = 52, Type = "1" }};

        _persoonRepository.Setup(x => x.GetAll()).Returns(_personen);

    [TestMethod()]
    public void GetAllShouldReturnResult()
    {
        var result = _persoonRepository.Object.GetAll();
        Assert.IsNotNull(result);
    }

Now I would like to test my add method as well.

My repository has a method SaveOrUpdate which takes two parameters a person of type Person and a string.

I can't seem to get my test in place. Can anyone help me?

Aucun commentaire:

Enregistrer un commentaire