gpt4 book ai didi

c# - 在 NUnit 中捕获断言失败的正确方法

转载 作者:行者123 更新时间:2023-12-03 22:57:33 25 4
gpt4 key购买 nike

我正在为我的数据库编写集成测试,我有一个问题。在测试方法的开始,我将一些对象添加到数据库,在方法结束时,我应该将其删除。

所以我有这样的代码:

var group = new ContactGroup { Name = UserLogin + "_test_group" };
group.ID = _provider.AddGroup(UserLogin, group);
Assert.That(_provider.GetGroup(UserLogin, group.ID), Is.Not.Null);
_provider.RemoveGroup(UserLogin, group.ID);

重点是如果断言失败,RemoveGroup 将不会被执行。我该怎么办?

如果我尝试这样做:

var group = new ContactGroup { Name = UserLogin + "_test_group" };
group.ID = _provider.AddGroup(UserLogin, group);
try
{
Assert.That(_provider.GetGroup(UserLogin, group.ID), Is.Not.Null);
}
finally
{
_provider.RemoveGroup(UserLogin, group.ID);
}

我应该像这样重新抛出 AssertionException

catch (AssertionException)
{
throw;
}

?

最佳答案

在数据库集成测试中处理清理的一种方法是在事务中执行测试,然后在测试完成后回滚。

关于c# - 在 NUnit 中捕获断言失败的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3353195/

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