使用Spring Boot 1.5,我怎么能运行不同类的多个测试?
E.g。
I have `Service1` tests in `Service1test.java`;
I have `Service2` tests in `Service2test.java`;
我需要一次完成两个。
答案 0 :(得分:6)
我所做的如下: 在主要班级
@RunWith(Suite.class)
@Suite.SuiteClasses({
PostServiceTest.class,
UserServiceTest.class
})
public class DataApplicationTests {
@Test
public void contextLoads() {
}
}
在PostServiceTest中我有
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class PostServiceTest {
@Autowired
IPostService postService;
@Before
public void initiate() {
System.out.println("Initiating the before steps");
}
@Test
public void testFindPosts() {
List<Post> posts= postService.findPosts();
Assert.assertNotNull("failure - expected Not Null", posts);
}
}
第二类UserServiceTest具有类似的结构。
当我运行DataApplicationTests时,它会同时运行两个类。
答案 1 :(得分:3)
我假设你使用的是IntelliJ,但同样的东西适用于所有的IDE。
Gradle和Maven有一个标准化的项目结构,这意味着所有测试类都位于&#39; test-root&#39;将在mvn测试(仅测试)或构建时运行(以检查代码是否正常运行。在这种情况下,如果测试失败,则构建也会失败。)
您的IDE应该允许您单独运行特定的测试,测试套件或类,而无需键入任何命令。 IntelliJ在分隔符列上提供了一些图标(靠近行号),使您可以运行特定的东西。看看这些绿色播放按钮:
小心创建测试套件。这样,除非您手动配置需要运行的测试,否则您将获得重复运行,因为构建工具将独立运行所有测试套件,然后是所有测试! (这意味着如果测试套件A包含测试套件B和C,则B和C将要运行2次:每次A和1,每次独立。这同样适用于独立测试类。)