簡體   English   中英

如何在測試方法中使用@Autowired

[英]how to use @Autowired in the test methods

我無法在測試方法中使用 Spring 的 @Autowired 注釋。我正在使用 JUnit 進行測試。 @Autowiring 適用於 bean 中的普通類,但不適用於測試方法。 正如我在論壇上看到的,我必須在 pom.xml 中實現 spring-test。 我仍然無法自動連接和注入我的服務 bean 的依賴項。 你能幫我在測試類中使用依賴注入嗎,因為我在我的源類中使用依賴注入。

問候阿爾珀

如果您正在編寫單元測試,建議您使用@Mock@InjectMocks

您可以注釋您的測試類以使用MockitoJUnitRunner運行

@RunWith(MockitoJUnitRunner.class)
public class TestClass{
  @Mock
  private MockedClass;
  @InjectMocks
  private TestedClass;
}

但是如果你真的想測試所有的流程並且需要注入類,你可以@RunWith(SpringJUnit4ClassRunner.class)@Autowired你的類。


更新:

嘗試在您的 Spring Boot 應用程序上添加此依賴項(不需要添加版本)以使用SpringJUnit4ClassRunner

groupId: org.springframework.boot 
artifactId: spring-boot-starter-test 
scope: test 
version: 1.4.4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM