我是单元测试的新手.我想做点如下的事情:
[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);
}
Run Code Online (Sandbox Code Playgroud)
我的目标是测试类别没有被删除Assert.IsNotNull()...但由于它抛出异常,它没有达到那段代码.知道如何改进上述测试吗?
实际上在我的API中,如果类别与Test相关联,我会抛出异常......我的代码片段是:
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;
}
}
Run Code Online (Sandbox Code Playgroud)