gpt4 book ai didi

c# - MySQL 启动事务/回滚在集成测试中不起作用

转载 作者:行者123 更新时间:2023-11-29 01:53:07 24 4
gpt4 key购买 nike

我正在尝试使用 NUnit 为我的 User 类创建一个集成测试,我想要做的是启动一个 transaction,更新我的 MySQL 测试数据库然后回滚。

这是我的代码,更新没问题,但我的数据库保持更新。在 MySQL Workbench 中调用我的查询工作正常。

[TestFixture]
public class UtenteIntTest
{
private User user;
bool result;

[SetUp]
public void Setup()
{
//Execute query "START TRANSACTION"
result = false;
}

[Test]
public void ConstId_IdUser_User()
{
user = new User(1);

if ((user.id == 1) && user.username == "test" &&
user.name == "test" && user.active == 1
&& user.mail == "test@test.test")
{
result = true;
}

Assert.That(result, Is.EqualTo(true));
}

[Test]
public void Update_User_UpdatedUser()
{
user = new User(1)
{
username = "update",
password = "update",
name = "update",
mail = "update@update.update",
attivo = 0
};
user.Update();
user = new User(1);

if ((user.id == 1) && user.username == "update" &&
user.nominativo == "update" && user.active == 0
&& user.mail == "update@update.update")
{
result = true;
}

Assert.That(result, Is.EqualTo(true));
}

[TearDown]
public void Teardown()
{
//Execute query "ROLLBACK"
}
}

最佳答案

  1. 检查您的数据库是否支持事务。

  2. 您可以使用 Transactionscope 来测试事务。看。 How do I test database-related code with NUnit?

关于c# - MySQL 启动事务/回滚在集成测试中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36064373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com