Я пытаюсь выполнить автоматическое веб-тестирование моего приложения ASP.NET. Я надеялся использовать атрибут AutoRollback из расширений Xunit.net, чтобы отменить любые изменения базы данных, которые были сделаны во время теста. AutoRollback использует TransactionScope для начала транзакции перед тестом и откатывания назад.Можно ли использовать откат TransactionScope с селеном или ватином?
Когда я пытаюсь ударить свое веб-приложение во время транзакции, он всегда истекает. Кажется, это должно работать, какие-то идеи? Вот мой тест:
[Fact]
[AutoRollback]
public void Entity_should_be_in_list()
{
Entity e = new Entity
{
Name = "Test",
};
dataContext.Entities.InsertOnSubmit(e);
dataContext.SubmitChanges();
selenium.Open("http://localhost/MyApp");
Assert.True(selenium.IsTextPresent("Test"));
}
Знаете, это кажется настолько очевидным сейчас, что вы сказали это :) Я надеялся избежать наращивания и разрыва базы данных все время, но я думаю, что я застрял в этом. –
Вам нужно найти способ включения поддержки транзакций в LINQ to SQL, чтобы он мог присоединиться к существующей области транзакций. –