-1
我重構春季啓動測試創建封裝類與普通行爲,將在其他測試注入。這些類僅在測試包中有作用域。春季測試Utils自動佈線
Spring忽略了不會在測試中使用的切片(這很好,並且通過設計spring引導測試1.5),但是也忽略了src/test/java中的任何@Component。
問題是如何配置彈簧啓動測試來拾取組件test/java?
我有一個不完整的解決方案,對於一個測試工作 我目前的解決辦法是:
import com.example.testClasses.TestUtil;
@RunWith(SpringRunner.class)
@SpringBootTest
@Import(TestConfiguration.class)
public class ExampleTest {
@SpyBean
private ServiceDependency1 service1;
@Autowired
private TestUtil testUtil;
}
@Configuration
@ComponentScan(basePackages = "com.example.testClasses")
public class TestConfiguration {
}
@Component
public class TestUtil {
public TestUtil(ServiceDependency1 service) {
}
}
上述部分作品的解決方案,當另一個utils的加入TestUtils2不同注射的依賴,這種依賴關係都沒有解決。
這是因爲TestUtil1的依賴只能通過@SpyBean來解決,在第二個測試中不是這樣。