Sto provando a eseguire alcuni test web automatizzati della mia applicazione ASP.NET. Speravo di utilizzare l'attributo AutoRollback dalle estensioni Xunit.net per annullare le modifiche al database apportate durante il test. AutoRollback utilizza TransactionScope per avviare una transazione prima del test e ripristinarla in seguito.È possibile utilizzare il rollback TransactionScope con selenio o Watin?
Quando si tenta di eseguire la mia applicazione Web durante una transazione, è sempre scaduto. Sembra che questo dovrebbe funzionare, qualche idea? Qui è la mia prova:
[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"));
}
Sapete, sembra così ovvio ora che lo avete detto :) Speravo di evitare di costruire e abbattere il database tutto il tempo, ma credo di essere bloccato con esso. –
È necessario trovare un modo per abilitare il supporto delle transazioni in LINQ a SQL in modo che possa partecipare all'ambito della transazione esistente. –