public class RollBack : OnMethodBoundaryAspect // or another AOP for meth interception
{
public override void OnEntry(MethodExecutionEventArgs eventArgs)
{
try
{
ServiceConfig cfg = new ServiceConfig();
cfg.Transaction = TransactionOption.RequiresNew;
cfg.TrackingAppName = "Application Unit Tests";
cfg.TransactionDescription = "Application Unit Tests Transaction";
cfg.TransactionTimeout = 0x2710;
ServiceDomain.Enter(cfg);
}
catch (Exception exception)
{
Console.WriteLine("Could not enter into a new transaction:\n" + exception);
}
}
public override void OnExit(MethodExecutionEventArgs eventArgs)
{
try
{
if (ContextUtil.IsInTransaction)
{
ContextUtil.SetAbort();
}
ServiceDomain.Leave();
}
catch (Exception exception)
{
Console.WriteLine("Could not leave an existing transaction:\n" + exception);
}
}
}
0
A
ответ
0
Я вижу, что вы тактически проверяете транзакцию, чтобы откатиться после тестирования.
Я лично начинаю с нуля и создаю таблицы для теста и удаляю их впоследствии. Другим распространенным методом является восстановление базы данных до известного состояния - хотя я бы предположил, что это указывает на слишком большие тесты, если они полагаются на множество состояний в базе данных.
Я написал об этом для PHP, но чаще всего работаю в .NET.
Смежные вопросы
- 1. Как вы это делаете
- 2. Как вы это делаете?
- 3. Integration Testing Framework
- 4. Развертывание Django: Как вы это делаете?
- 5. GUI Design: Как вы это делаете?
- 6. Запоминающий код, профи, как вы это делаете
- 7. Авторизация страницы ASP.NET ... Как вы это делаете?
- 8. Как вы это делаете в ReactJS?
- 9. Как вы это делаете в MS Excel?
- 10. Javascript Integration Testing Framework
- 11. Jenkins Integration/Unit Testing
- 12. MbUnit Integration Testing Newbie Question
- 13. Как вы делаете блок?
- 14. Связывание событий для вызовов ajax - как вы это делаете?
- 15. Как вы делаете запрос «как»?
- 16. Integration Testing Entity Framework CRD-операции
- 17. Как вы делаете «-» в python?
- 18. Как вы делаете легкий CMMI?
- 19. Как вы делаете обзоры кода?
- 20. Как вы делаете молодую тройку?
- 21. Как вы делаете копию объекта?
- 22. Как вы делаете викторину java?
- 23. Как вы делаете свой Nvarchar()
- 24. Как вы делаете Web.Config "Constant?"
- 25. Как вы делаете cin typesafe?
- 26. java - как вы делаете resourceloader?
- 27. Как вы делаете remove_column обратимым?
- 28. как вы делаете Scite интерактивным?
- 29. Как вы делаете переменный класс?
- 30. Как вы делаете таблицы конверсий?
Что вопрос - как проверить код, приведенный выше? – 2008-11-21 08:15:38