測試性能:package com.sandbox.test;import lombok.Getter;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.stereotype.Component;@Component@PropertySource("classpath:new-test.properties")public class TestProperties { @Getter @Value("${homepage.url}") private String homePageUrl;}配置:package com.sandbox.test;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan(basePackages = {"com.sandbox"})public class SpringContext {}new-test.properties位于 /src/test/resources 中的文件內(nèi)容:homepage.url=https://tst.mysite.com課堂上進行了兩次測試MyTest,第一個 - 不起作用,第二個 - 工作正常:package com.sandbox.test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.test.context.ContextConfiguration;import org.testng.Assert;import org.testng.annotations.Test;@ContextConfiguration(classes = {SpringContext.class})public class MyTest { @Autowired private TestProperties testProperties; @Test public void thisDoesntWork() { Assert.assertNotNull(testProperties); System.out.println(testProperties.getHomePageUrl()); } @Test public void thisWorks() { AnnotationConfigApplicationContext appContext = new AnnotationConfigApplicationContext(SpringContext.class); TestProperties testProps = appContext.getBean(TestProperties.class); Assert.assertNotNull(testProps); System.out.println(testProps.getHomePageUrl()); }}目標是在不使用 xml 的情況下自動裝配類testProperties中的字段。但目前是. 注釋已經(jīng)到位,但我缺少什么?...MyTestnull@Component@ComponentScan
1 回答

吃雞游戲
TA貢獻1829條經(jīng)驗 獲得超7個贊
您的測試可能需要擴展?AbstractTestNGSpringContextTests才能自動訪問ApplicationContext并使自動裝配工作。
添加回答
舉報
0/150
提交
取消