Я пытаюсь создать интеграционный тест для моего User
класса с помощью NUnit
, что я хочу сделать, это начать transaction
, обновить MySQL
тестовую БД и чем откат.MySQL Начало транзакция/откат не работает в тесте интеграции
Это мой код, обновление в порядке, но у меня и db остается обновленным. Вызов моего запроса в 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 == "[email protected]")
{
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 = "[email protected]",
attivo = 0
};
user.Update();
user = new User(1);
if ((user.id == 1) && user.username == "update" &&
user.nominativo == "update" && user.active == 0
&& user.mail == "[email protected]")
{
result = true;
}
Assert.That(result, Is.EqualTo(true));
}
[TearDown]
public void Teardown()
{
//Execute query "ROLLBACK"
}
}
Я пробовал TransactionScope перед вызовом моего метода обновления, и он работает нормально. Благодаря! – SilentRage47