I am doing unit testing using NUnit and Moq framework. When I try to mock the IRepository using mockRepo.Setup(x=>x.GetStr(It.IsAny)()).Returns(str) then the method which is to be tested gets overridden inside Repository class and the build fails. But instead mocking the IRepository if I mock the Repository making the method which is to be tested as virtual then the data is getting mocked and the test runs.
Why mocking a Repository requires a virtual function and mocking IRepository overrides the existing function?
257 views Asked by Krits At
1
There are 1 answers
Related Questions in C#
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in ASP.NET-CORE
- Windows environment variables at appsettings.json
- Which approach is right while creating a service for your update method?
- New Blazor Web App, Password Reset "A valid antiforgery token was not provided"
- No webpage was found for the web address: https://localhost:7002/Category/Add?area=Admin. Why is my URL generated like ?area=Admin instead of /Admin/
- how to get the html for a tag helper in code
- How to share authorization implemented in the server project with the client project in Blazor Web App Auto project?
- Why https is disabled on publish in .NET Core 7.0
- How to set language in a server-side rendering blazor app
- How can I debug server side rendering blazor code in a component?
- ASP.NET Core 6 randomly returning 200 with empty response
- ASP.NET Core MVC : NullReferenceException: Object reference not set to an instance of an object
- ASP.NET Core Identity Custom Register Endpoint
- VS Community 2022 cannot install dotnet-ef when i try to publish
- How does ASP.NET Core Identity ensure username is unique under concurrent conditions?
- In clean architecture, is the presentation layer allowed to communicate directly with the infrastructure layer?
Related Questions in NUNIT
- SQLite Nunit Tests is showing me data seeded on Application DB Context
- The problem related to unit test CSharp , Moq
- Nunit4 is not working with Json Testcase parameter
- Nunit TestCase attribute with Jagged Array ? c#
- Mocking a record
- why does NUnit test project doesn't recognize as a project in visual studio
- Selenium runs very slow with headed web driver in VS debug mode and NUnit test run
- Playwright test runsettings not taking effect (Headless = False yet still runs Headless)
- How to run all Unit Tests that DON'T have a trait?
- NUnit, Im using mediator, how can a test my mediator Handler using NUnit
- Facing errors during the unit test for sample .NET micro-service (vb)
- NUnit Unit Tests + TestContainers = global `OneTimeSetup` and `OneTimeTearDown`
- When starting a Nunit project from the command line, searches for files along the nunit3-console path
- nunit3-console doesn't see DLLs from Microsoft.AspNETCore.App
- many-to-many relation not returning any
Related Questions in MOQ
- Should I add the nupkg dependencies of the Assembly of the SUT to the Test Project as well?
- Mocking FunctionContext in Azure blob trigger function unit tests in .net 8
- Mocking a record
- Stop Moq NuGet package searching for source
- How do I trigger a specific condition inside a method if I cannot inject a mocked object into it?
- Setup a method on a mock which has a parameter which is an async function expression
- Why don't form fields get returned from this HttpContext mock
- xunit and mock returns null instead of string
- Unit test for function with func param using C# and Moq
- How to mock a Generics<T> class that actually used to fetch data from database
- Raise event of mocking object and passing there as argument object used for calling method
- AutoFixture is unable to create an instance of a class that has a property of type RestSharp.RestResponse
- C# Moq unable to return correct value
- Xunit testing restsharp with Moq
- How to call service class in mock Framework with x-unit method ASP Web API .Net 6?
Related Questions in IREPOSITORY
- Eager load a single entity
- How to join two table with repository and service pattern
- Why mocking a Repository requires a virtual function and mocking IRepository overrides the existing function?
- Adding global session filter to repository entity
- Dependency Injection with GenericRepository error - No database provider has been configured for this DbContext NET.Core 3.1
- how to add scope if I use IService in Controller and connect Iservice in order as IService->Service->IRepository->Repository
- IRepository and Related Data?
- Having irrelevant extra parameters and DTO to impelememt IRepository in Domain layer
- Extending an Entity and using IRepository
- ASP.NET Boilerplate IRepository extension method
- Using the same class for Repository pattern and data handling in VM
- Error when trying to use EF Functions with Generic IRepository Pattern
- Can't use superclass in Repository implementation in PHP
- Constructors and Methods on POCO classes with the IRepository Pattern
- Determine which construtor to be called(change default constructor) when an action is called in MVC Web API
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Any kind of mocking relies on members to be overridable. Your mocking-framework will create some class that either implements your interface or overrides your class. So what the framework creates is similar to the following:
or if your member would be a class-member this:
Interface-members are implictely overridable, as they literally do not provide any own logic. You can allways provide your own implementation for it. Class-members are only overridable, if they are
virtual.In your case there seems to be some difference in the test depending on if you mock the interface or the class. That probably indicates your test depends on some internals of the class - e.g. some initialization on the repo. You should either mock that also, or decouple your test from that dependency.