0
我想測試一個通過@Autowired註釋注入資源的類。測試類中的春季JUnit測試自動佈線變量
class TestedClass{
@Autowired
private MyResource resource
...
}
如何在不修改被測試的類的情況下使該注入工作?注射在測試類工作正常,但不是在被測試類:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= "classpath*:/bean-definition.xml")
public class TestedClassTest {
TestedClass instance;
//This works
@Autowired
private MyResource resource
@Before
public void setUp() throws Exception {
instance = new TestedClass();
}
...
}
所以問題可能是如何上下文傳遞給被測試類?
沒有測試過的類不是一個bean,它只使用注入的資源。是否有意義?還是它也必須是一個bean?我知道我可以通過setter或構造函數來實現,但我認爲必須有某種方法才能在不修改代碼的情況下執行此操作。 – NeplatnyUdaj
如何在應用程序部署時將被測試類實例化,就好像它沒有被注入一樣,我的資源將不會被設置。所以它沒有意義。 – NimChimpsky
好的。所以我創建了一個測試類的'''Component',現在它可以工作。謝謝 – NeplatnyUdaj