J'essaie de faire des tests web automatisés de mon application ASP.NET. J'espérais utiliser l'attribut AutoRollback des extensions Xunit.net pour annuler les modifications apportées à la base de données pendant le test. AutoRollback utilise TransactionScope pour démarrer une transaction avant le test et la restaurer ensuite.Le rollback TransactionScope peut-il être utilisé avec du sélénium ou du watin?
Lorsque j'essaie de toucher mon application Web lors d'une transaction, le délai expire toujours. Il semble que cela devrait fonctionner, des idées? Voici mon test:
[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"));
}
Vous savez, cela semble si évident maintenant que vous l'avez dit :) J'espérais éviter d'accumuler et de démolir la base de données tout le temps, mais je suppose que je suis coincé avec elle. –
Vous devez trouver un moyen d'activer la prise en charge des transactions dans LINQ to SQL afin qu'il puisse se joindre à la portée de transaction existante. –