Moq Testing a private method .Many posts but still cannot make one example work

Posted by devnet247 on Stack Overflow See other posts from Stack Overflow or by devnet247
Published on 2010-06-05T06:30:35Z Indexed on 2010/06/05 6:32 UTC
Read the original article Hit count: 1308

Filed under:

Hi, I have seen many posts and questions about "Mocking a private method" but still cannot make it work and not found a real answer. Lets forget the code smell and you should not do it etc....

From what I understand I have done the following:

1) Created a class Library "MyMoqSamples"

2) Added a ref to Moq and NUnit

3) Edited the AssemblyInfo file and added [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] [assembly: InternalsVisibleTo("MyMoqSamples")]

4) Now need to test a private method.Since it's a private method it's not part of an interface.

5) added the following code

        [TestFixture]
            public class Can_test_my_private_method
            {
                [Test]
                public void Should_be_able_to_test_my_private_method()
                {
                    //TODO how do I test my DoSomthing method
                }
            }

            public class CustomerInfo
            {
                public string Name { get; set; }
                public string Surname { get; set; }
            }

            public interface ICustomerService
            {
                List<CustomerInfo> GetCustomers();
            }

            public class CustomerService: ICustomerService
            {
                public List<CustomerInfo> GetCustomers()
                {
                    return new List<CustomerInfo> {new CustomerInfo {Surname = "Bloggs", Name = "Jo"}};
                }

                protected virtual void DoSomething()
                {

                }
            }

Could you provide me an example on how you would test my private method? Thanks a lot

© Stack Overflow or respective owner

Related posts about moq