Как вызвать тесты из другого теста? - PullRequest
0 голосов
/ 15 сентября 2018

Как я могу вызвать тесты из другого теста?

У меня есть класс в банке, который я добавил как зависимость в свой проект:

public class Tests{

private MockMvc mockMvc;


@Test
public void test1() throws Exception {
.....
mockMvc.perform(get(myRequest)
        .content(dataFromDB)
.......
    }
}
@Test
public void test2() throws Exception {
.....
mockMvc.perform(get(myRequest)
        .content(dataFromDB)
.......
    }
}
.......

И в моем проекте у меня есть:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MyApp.class)
public class MyTests {
private MockMvc mockMvc;

@Autowired
private WebApplicationContext context;

@Before
public void init() throws Exception {
    MockitoAnnotations.initMocks(this);
    mockMvc = MockMvcBuilders.webAppContextSetup(context).apply(springSecurity()).build();
}

@Test
public void test() throws Exception {
   CALL SOMEHOW TESTS FROM THE JAR HERE
}

Я хочу, чтобы эти тесты из jar проверяли базу данных моего проекта (например: dataFromDB должно быть некоторыми данными из проекта, в который была добавлена ​​эта зависимость).

Я уже добавил этот jar-файл, и я могу вызывать классовые тесты внутри своего проекта, поэтому у меня есть к нему доступ.Я просто не уверен, как запустить эти тесты внутри него.

Что я должен изменить, чтобы он хорошо работал?Спасибо

Обновлено:

* Я хочу, чтобы все тесты из банки вызывались одновременно, а не по отдельности.

* Я хочу дать банку доступ к моей базе данных,так что он может получить все необходимые данные тестирования в таблице БД моего проекта.

1 Ответ

0 голосов
/ 15 сентября 2018

Из того, что вы видите, у вас есть 2 набора среды и 1 набор тестов.

Таким образом, один из способов решения этой проблемы - сделать среду проходимой, mockmvc, dataFromDb и т. Д., Чтобы тесты могли выполняться независимо от среды.

Я бы предложил использовать методы тестирования в другом классе, как этот очень упрощенный пример для удобного чтения:

class MyTestMethods {
  void test1(TestEnv env, Req myRequest) {
    env.getMockMvc()
        .perform(env.get(myRequest)
            .content(env.getDataFromDB());
    // assertions here
  }
}

class OldTestInJar {
  @Test
  public void test1() {
    new MyTestMethods().test1(myEnv, myReq);
  }
}

class MyNewTest {
  @Test
  public void test1() {
    new MyTestMethods().test1(myNewEnv, myNewReq);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...