Tôi đang cố gắng thực hiện một số thử nghiệm web tự động cho ứng dụng ASP.NET của mình. Tôi đã hy vọng sử dụng thuộc tính AutoRollback từ tiện ích mở rộng Xunit.net để hoàn tác bất kỳ thay đổi cơ sở dữ liệu nào đã được thực hiện trong khi thử nghiệm. AutoRollback sử dụng TransactionScope để bắt đầu một giao dịch trước khi thử nghiệm và cuộn nó trở lại sau đó.Có thể sử dụng rollback TransactionScope với Selenium hoặc Watin không?
Khi tôi cố gắng truy cập ứng dụng web của mình trong một giao dịch, nó luôn luôn hết thời gian chờ. Có vẻ như điều này sẽ có tác dụng, bất kỳ ý tưởng nào? Đây là thử nghiệm của tôi:
[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"));
}
Bạn biết đấy, điều đó dường như rất hiển nhiên khi bạn nói điều đó :) Tôi đã hy vọng tránh việc xây dựng và xé cơ sở dữ liệu mọi lúc, nhưng tôi đoán là tôi bị mắc kẹt với nó. –
Bạn cần tìm cách bật hỗ trợ giao dịch trong LINQ to SQL để có thể tham gia vào phạm vi giao dịch hiện tại. –