Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 135187
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T06:44:54+00:00 2026-05-11T06:44:54+00:00

I am just getting involved in Moq and unit testing, so forgive me if

  • 0

I am just getting involved in Moq and unit testing, so forgive me if this seems obvious (a quick search through SO didn’t show me anything like this).

I have an interface with the following proposed member:

void AddFeed(Feed feed); 

That I would like to write a unit test for this functionality. The test class has a Moq Repository declared as follows:

static IFeedRepository MockFeedsRepository(params Feed[] feeds)     {         var mockFeedsRepository = new Moq.Mock<IFeedRepository>();         mockFeedsRepository.Expect(x => x.Feeds).Returns((feeds.AsQueryable));          return mockFeedsRepository.Object;     } 

How should the mock repository declaration be modified to include this new desired behavior or should I create a different Moq (and just how would that be done).

My assumption is that after creating the mock, deriving the unit test will be much easier but hints are greatly appreciated.

Many thanks,

KevDog

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T06:44:55+00:00Added an answer on May 11, 2026 at 6:44 am

    I’m also assuming that you would use the AddFeed method like this

    Feed myNewFeed = new Feed(); feedRepository.Add(myNewFeed); 

    and that you’re not using it like this (which is poor design)

    IFeedRepository feedRepository = new FeedRepository(); Feed myNewFeed = new Feed(feedRepository); ... myNewFeed.Save(); 

    I’m going to guess that you would want to then have a test something like this:

    [Test] public void TheTest() {   IFeedRepository repository = MockFeedsRepository({feed1, feed2, feed3});   Feed newFeed = new Feed();   repository.Add(newFeed);   Assert.AreEqual(4,repository.Count()); } 

    If that’s the case then the test isn’t actually testing anything other than your implementation of a mock in-memory repository. Is that what you really need to be doing?

    I’d suggest that what you want to be doing is testing the L2Sql implementation of the repository instead, or testing how classes interact with the IFeedRepository interface.

    And if you want to test the usage of the IFeedRepository interface then just do something simple like

    [Test] public void TheTest() {       IFeedRepository repository = Moq.Mock<IFeedRepository>();       Feed newFeed = new Feed();       repository.Expect(r => r.Add(newFeed)); //no return as it's a void method       //repository.Expect(r => r.Add(newFeed)).Throws(new ApplicationException()); --Test handing of exceptions        //Code to hit the .Add() method        //Assert the Add method was called. } 

    For tips on asserting if a method was called, see Using Moq to determine if a method is called

    I hope that helps

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Just getting into the NoSQL stuff so forgive me if this is a simple
Just getting started with db2. Quick question about giving it SQL commands from a
Just getting started on NVelocity (v1.1.1) and it seems to be working just fine.
Just getting my head around WCF, so forgive me for the inelegant coding. The
I've only recently been getting involved with PHP/AJAX/jQuery and it seems to me that
I am just getting my feet wet where JavaScript Prototyping is involved, and I
I'm just getting started with Anorm and parser combinators. It seems like there is
Just getting up to speed with YAML and want to confirm whether it's possible
Just getting started with C++ here. I am working on OSX with Eclipse CDT.
Just getting my feet wet with some Fluent NHibernate AutoMap conventions, and ran into

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.