Как написать весенний набор тестов из нескольких тестов и запустить выборочные тесты? - PullRequest
5 голосов
/ 25 февраля 2011

У меня есть много методов весенних испытаний в тестовом классе. Я хочу запускать только выборочные тесты. Поэтому я хочу создать набор тестов в том же классе.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/testApplicationContext.xml"})
@TransactionConfiguration(defaultRollback=true)
public class TestersChoice  { 


@Test
@Transactional
public void testAddAccount(){        
  ///do something ....
}  


@Test
@Transactional
public void testDeleteAccount(){        
  ///do something ....
}   

@Test
@Transactional
public void testReadAccount(){        
  ///do something ....
}   

}

Если я запускаю этот Class TestersChoice, все тесты будут выполняться! Я просто хочу запустить testReadAccount, а не остальные. Я хочу создать пакет для запуска выборочных тестов. (Я хочу избежать удаления @Test выше тестовых методов для достижения этой цели) Что-то вроде в jUnit testcase. Это то, что я смог сделать, расширив класс TestersChoice до TestCase и вставив этот метод:

public static TestSuite suite(){
      TestSuite suite = new TestSuite();
       suite.addTest(new TestersChoice("testDeleteAccount"));
      return suite;
}

Но так как сейчас я не расширяю TestCase, я не могу добавить экземпляр TestersChoice в комплект!

Как запустить выборочные тесты?

Ответы [ 3 ]

1 голос
/ 05 апреля 2011

Вы можете использовать Spring * IfProfileValue (если вы всегда используете @RunWith(SpringJUnit4ClassRunner.class)), и тогда тесты будут выполняться только в том случае, если вы укажете определенные системные свойства, используя -D<propertyname>.

1 голос
/ 10 марта 2011

если вы хотите сгруппировать свои тесты, то проблема не в весеннем тесте, а в JUnit, где группировка тестов невозможна. Рассмотрите возможность переключения на TestNG (также поддерживается пружиной OOTB).

TestNG построен на JUnit, но гораздо более мощный: см. сравнение .

Группировка это просто.

С уважением,
Стейн

0 голосов
/ 02 июля 2013

Используйте @Ignore для каждого метода, который вы не хотите выполнять. Возьмем ваш пример:

@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"/testApplicationContext.xml"}) @TransactionConfiguration(defaultRollback=true) public class TestersChoice  { 


@Test  @Transactional @Ignore public void testAddAccount(){           ///do something .... }  


@Test @Transactional @Ignore public void testDeleteAccount(){          ///do something .... }   

@Test @Transactional public void testReadAccount(){           ///do something .... }

Все методы, помеченные как @Ignore, не будут выполняться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...