使用Spring Boot 1.5,我如何運行多個不同類的測試?如何使用Spring Boot運行多個測試
E.g.
I have `Service1` tests in `Service1test.java`;
I have `Service2` tests in `Service2test.java`;
我需要一次運行。
使用Spring Boot 1.5,我如何運行多個不同類的測試?如何使用Spring Boot運行多個測試
E.g.
I have `Service1` tests in `Service1test.java`;
I have `Service2` tests in `Service2test.java`;
我需要一次運行。
我會假設你使用的是IntelliJ,但同樣的東西適用於所有的集成開發環境。
Gradle和Maven已經有了一個標準化的項目結構,這意味着位於'test-root'內部的所有Test類都將在mvn測試(僅用於測試)上運行,或者在您構建時檢查代碼行爲正確,在這種情況下,如果測試失敗,構建失敗)。
你的IDE應該讓你seperately運行特定的測試,測試套件或類,而不需要輸入任何命令。 IntelliJ在分隔符列thingy(靠近行號)提供了一些圖標,使您可以運行特定的內容。看看這些綠色的播放按鈕:
小心,雖然創建測試套件。這樣,除非您手動配置需要運行的測試,否則您將得到重複運行,因爲構建工具將獨立運行所有測試套件,然後運行所有測試! (這意味着如果測試套件A包含測試套件B和C,則B和C將運行2次:每個來自A,每個獨立1個,這同樣適用於獨立測試類)。
我所做的是: 在主類
@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,它運行兩個類。
只需執行maven的測試目標或其等價的gradle,如果你的gradle中是。這將運行您項目中的所有測試。 –
你只想運行這兩個測試,或者如果你運行所有的測試,它可以嗎? – pvpkiran
我正在使用Intellij IDE運行測試,我想從一個命令或一個父類運行所有測試。基本上,它歸結爲如何將單獨的測試類納入其中。 – nomadus