В моей компании мы используем локальную базу данных разработки с TransactionScope для отката изменений.Уникальным побочным эффектом является повышение идентичности при тестировании вставок, но это не проблема.
Преимущество заключается в том, что у вас есть реальный тест для базы данных.
Если вам нужно отправить электронную почтупочты или отправьте данные на другой сервер, затем вернитесь в IoC с внедрением зависимостей, используя ninject / moq.
Вам потребуется добавить Entity Framework и строку подключения в ваш тестовый проект.
[TestClass]
public class NameValueTest
{
[TestMethod]
public void Create()
{
NameValueController controller = new NameValueController();
using (var ts = new TransactionScope())
{
Assert.IsNotNull(controller.Create(new Models.NameValue()
{
name1 = "1",
name2 = "2",
name3 = "3",
name4 = "4"
}));
//no complete, automatically abort
//ts.Complete();
}
}
}
Надеюсь, это поможет вам.