私は自分のASP.NETアプリケーションの自動Webテストをやろうとしています。私は、Xunit.net拡張機能のAutoRollback属性を使用して、テスト中に行われたデータベースの変更を取り消すことを望んでいました。 AutoRollbackは、TransactionScopeを使用してテストの前にトランザクションを開始し、その後にロールバックします。TransactionScopeロールバックをSeleniumまたはWatinで使用できますか?
トランザクション中にWebアプリケーションにヒットしようとすると、常にタイムアウトします。これはうまくいくはずです。どんなアイデアですか?
[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でトランザクションサポートを有効にする方法を見つける必要があります。 –