gpt4 book ai didi

c# - 单元测试未到达一段代码

转载 作者:行者123 更新时间:2023-11-30 19:21:19 28 4
gpt4 key购买 nike

我是单元测试的新手。我想做如下事情:

[Test]
[ExpectedException(ExceptionType = typeof(Exception))]
public void TestDeleteCategoryAssociatedToTest()
{
Category category = CategoryHelper.Create("category", Project1);
User user;
Test test1 = IssueHelper.Create(Project1, "summary1", "description1", user);
test1.Category = category;
category.Delete(user);
Assert.IsNotNull(Category.Load(category.ID));
Assert.IsNotNull(Test.Load(test1.ID).Category);
}

我的目标是通过执行 Assert.IsNotNull() 来测试该类别是否未被删除...但是由于它抛出异常,因此它没有到达那段代码。知道如何改进上述测试吗?

实际上,在我的 API 中,如果类别与测试相关联,我会抛出异常...我的片段是:

 IList<Test> tests= Test.LoadForCategory(this);
if (tests.Count > 0)
{
throw new Exception("Category '" + this.Name + "' could not be deleted because it has items assigned to it.");
}
else
{
base.Delete();
foreach (Test test in tests)
{
test.Category = null;
}
}

最佳答案

尝试每次测试只测试一个功能。 IOW 编写单独的成功和失败测试。

关于c# - 单元测试未到达一段代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599738/

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