如何从另一个测试中调用测试?
我在jar中有一个类,已将其作为依赖项添加到我的项目中:
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
}
我希望罐子中的那些测试可以测试我的项目的数据库(例如: dataFromDB 应该是来自添加了此依赖项的项目的一些数据)。
我已经添加了这个jar,我可以在项目中调用Tests类,因此我可以访问它。我只是不确定如何在其中运行这些测试。
我应该更改什么才能使其正常工作?谢谢
已更新:
*我希望jar中的所有测试都可以同时调用,而不是单独调用。
*我想授予jar访问我的数据库的权限,以便它可以在我项目的db表中获取所有需要的测试数据。
答案 0 :(得分:1)
从外观上看,您有2套环境和1套测试。
解决这个问题的一种方法是使环境可以通过,包括mockmvc,dataFromDb等,以便测试可以独立于环境执行。
我建议将测试方法放在另一个类中,例如这个非常简化的示例,以便于阅读:
Uri uri = Uri.parse("https://www.instagram.com/_u/eatoutlagos");
Intent likeIng = new Intent(Intent.ACTION_VIEW, uri);
likeIng.setPackage("com.instagram.android");
try {
startActivity(likeIng);
} catch (ActivityNotFoundException e) {
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.instagram.com/_u/eatoutlagos")));
}