10. What is TDD?
Write a test before writing a code.
Specification not validation
Think through requirements or design
before write code.
Programming technique
Ron Jefferies -> write clean code
19. Mocking
Simple classes dose not have
dependencies.
In Action classes maybe have external
dependencies like connect to database
, connect to web services.
Good Test should be isolated.
Integration test.
Test should be fast.
20. Mocking
Two way to isolated :
1) Use Interface
2) Mocking framework
21. Example of using Interface
Interfaces to isolated database and
web services :
public interface IEmailSource
{
IEnumerable<string> GetEmailAddresses();
}
public interface IEmailDataStore
{
void SaveEmailAddresses(IEnumerable<string> emailAddresses);
}
22. Example of using Interface
Mock classes :
public class MockEmailSource : IEmailSource
{
public IEnumerable<string> EmailAddressesToReturn { get; set; }
public IEnumerable<string> GetEmailAddresses()
{
return EmailAddressesToReturn;
}
}
public class MockEmailDataStore : IEmailDataStore
{
public IEnumerable<string> SavedEmailAddresses { get; set; }
public void SaveEmailAddresses(IEnumerable<string> emailAddresses)
{
SavedEmailAddresses = emailAddresses;
}
}