Я пытаюсь использовать Junit в офисе (JVM 1.4): я написал много класса , расширяющего TestCase , но я не писал ни одного класса , расширяющего TestSuite .
Проблема в том, что я не очень хорошо понимаю, что TestSuite должен тестировать:
открытый контракт пакета (все открытые методы для всех открытых классов пакета).
Пример:
public class TestPackageAAA extends TestSuite{
//...
public void testSomething{
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
}
//...
}
с FirstClass и SecondClass, существующими в одном пакете AAA.
функциональный процесс, переведенный как список одного класса, не интегрированный?
public class TestProcessBBB extends TestSuite{
//...
public void testSomething{
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
}
//...
}
с FirstClass в качестве первого шага пользовательского процесса с именем BBB (например, операция CRUD в веб-приложении), SecondClass в качестве второго шага того же процесса и т. Д. И т. Д. (В этом тесте FirstClass и SecondClass не взаимодействуют).
Как вы организуете свой TestSuite? Первым или вторым путем? Или по-другому?
EDIT:
Я ошибаюсь, потому что я повторяю одно и то же имя класса в примере, ergo это сбивает с толку.
Это пример конфигурации:
ЦСИ
|-->{package} **AAA**
|--->{class}FirstClass
|--->{class}SecondClass
|-->{package} **XYZ**
|-->{class}ThirdClass
тест
{package} **AAA**
|--->{class}TestFirstClass extends TestCase
|--->{class}TestSecondClass extends TestCase
|-->{package} **XYZ**
|-->{class}TestThirdClass extends TestCase
TestSuiteAAA (находится в корне каталога тестирования) представляет собой совокупность всех TestCase в пакете test.AAA
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
TestSuiteBBB (находится в корне каталога тестирования) представляет собой совокупность всех тестов, участвующих в выполнении функционального процесса (пример: отправка запланированного электронного письма администратору веб-сайта электронной коммерции).
TestSuiteBBB вызывает методы FirstClass и ThirdClass, и каждый класс не вызывает методы другого класса.
testSuite.add(new TestFirstClass());
testSuite.add(new TestThirdClass());
JUnit позволяет мне делать обоими способами (я сейчас их кодировал в Eclipse и запускаю): что вы предпочитаете?
PS извините за форматирование структуры пакетов:)