Экземпляр класса для тестирования в тестовом классе в Java - PullRequest
2 голосов
/ 28 июня 2019

Какова лучшая практика для получения экземпляра класса для тестирования в тестовом классе?
Лучше ли создавать его вручную с помощью

ClassToBeTested classToBeTested = new ClassToBeTested();

внутрикласс

ИЛИ

получить его из контекста Spring, например:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/services-test-config.xml"})
public class MySericeTest {

  @Autowired
  MyService service;
...

}

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Лучше попытайтесь использовать автоматическую разводку, чтобы согласовать ее с более чистым и проверяющим дружественный код и будущим изменением.

использование «new» может стать проблемой в будущем, но автоматическая разводка может спасти вас

0 голосов
/ 28 июня 2019

В программировании есть простое правило, которым можно руководствоваться:

вы делаете что-то не потому, что можете, а потому, что имеет смысл сделать это .

Значение: вы всегда стремитесь написать самый минималистичный, упрощенный код, который решает вашу проблему.

Итак, когда

ClassToBeTested classToBeTested = new ClassToBeTested();

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

Если вам нужно что-то, что вам «легче» от этого подхода DI на основе аннотаций, , то , вы используете этот подход.

Сказав это, есть и условности. Когда "типичная" вещь, которую делает большинство программистов ... это использование подхода аннотации, тогда это то, что вы должны использовать.

...