Ответ 1
Ваш внешний класс группирует только связанные методы, предлагая заменить его пространством имен.
namespace MyNamespace.ClassToTest
{
...
}
У меня есть модульные тесты, написанные с использованием nUnit, и тесты структурированы так же, как в Фил Хаак пост
namespace MyNamespace
{
[TestFixture]
public class ClassToTest
{
[TestFixture]
public class MethodToTest
{
[Test]
public void ThrowsArgumentNullException_OnNullIndex()
{
...
}
.. more tests for the method ..
}
[TestFixture]
public class AnotherMethodToTest
{
[Test]
public void ThrowsArgumentNullException_OnNullIndex()
{
...
}
.. more tests for the method ..
}
}
}
Моя проблема в том, что я получаю неубедительность для внешнего класса, который используется для группировки модульных тестов. Я пробовал с и без [TestFixture]
во внешнем и/или внутреннем классе, но он всегда дает мне Inconclusive.
Я думаю, что правильное поведение должно состоять в отображении состояний unit test из внутренних тестов класса. Есть идеи?
Обновление
Одно уродливое исправление, похоже, создает фиктивный тест для внешнего класса, а затем кладет на него атрибут Ignore
.
[Test, Ignore]
public void DummyTest()
{
Assert.IsTrue(true);
}
Обновление 2
Каналы и Уэйн верны, внешний класс используется только для группировки, поэтому наилучшим решением является переход от класса к пространству имен.
Ваш внешний класс группирует только связанные методы, предлагая заменить его пространством имен.
namespace MyNamespace.ClassToTest
{
...
}
У вас, вероятно, есть [TestFixture] без [Test] s - возможно, внешний класс не имеет никаких собственных тестов? В этом случае, почему бы просто не использовать пространство имен?
просто предположение, атрибут класса приводит к тому, что ваш класс обрабатывается как testclass, но нет теста в классе, который он сам вызывает наш Inconclusive:
[TestFixture]
public class ClassToTest