-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来解决,在第二个测试中不是这样。