Я новичок в модульном тестировании.Я хочу сделать что-то следующим образом:
[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;
}
}