System.NullReferenceException : Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu. w tescie

0

Cześć. Uczę się pisać testy jednostkowy ale jeden test mi nie wychodzi :

        [Test]
        public void Add_New_Post_To_Context()
        {
            var mockSet = new Mock<DbSet<Post>>();
            var mockCtx = new Mock<ApplicationDbContext>();

           
            mockCtx.Setup(x=>x.Posts).Returns(mockSet.Object);
            PostService post = new PostService(mockCtx.Object);

            post.AddPost(new Post());

            mockCtx.Verify(s => s.Posts.Add(It.IsAny<Post>()), Times.Once());
            mockCtx.Verify(c => c.SaveChanges(), Times.Once());
        }

Wyskakuje mi taki komunikat wiecie dlaczego ?

Message: System.NullReferenceException : Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
1

Szybciej byłoby użyć debugera, niż założyć nowy wątek na forum ;) A tak poza tym, to lepiej postawić sobie jakąś bazę in memory i na niej wykonywać testy:

1

Jakaś zmienna gdzieś jest null. Użyj debugera, to będziesz wiedział która.

1 użytkowników online, w tym zalogowanych: 0, gości: 1