這裏是我的課堂,@Autowired
領域是有代碼:Spring @Autowired字段爲空。我在不同的類使用@Autowired字段
特斯塔
@ContextConfiguration("classpath:spring.xml")
public abstract class TestA extends AbstractTestNGSpringContextTests {
@Autowired
@Value("#{environment.username}")
public String username;
@Autowired
@Value("#{environment.password}")
public String password;
@Autowired
@Value("#{environment.passwordtoken}")
public String passwordToken;
}
這裏是我的另一個類,我想使用上述字符串變量
public class TestData extends TestA {
ForceApi api;
public void setApi() {
// Instantiating api by setting username and pwd
System.out.println("In getApi");
ApiConfig ac = new ApiConfig();
ac.setUsername(username);
ac.setPassword(passwordToken); ac.setLoginEndpoint("https://login.salesforce.com/services/Soap/u/34.0/");
api = new ForceApi(ac);
}
public void pTestData() {
setApi();
// Create test data for play group admin
String idSoql = "SELECT id FROM PlayGroup__c";
List<Map> mapResults = api.query(idSoql).getRecords();
}
}
,並試圖使用下面的類來執行測試:
public class TestB extends TestA{
@Test(dataProvider="browsers")
public void test1(){
TestData td = new TestData();
td.pTestData();
}
}
請幫我確定我在做錯的地方。我在這一行中得到空指針例外:
List<Map> mapResults = api.query(idSoql).getRecords();
只有選項我能看到的是'query()'返回null ...? (如果這是正確的,這是行) – Betlista
這與@Autowired無關,似乎你的查詢爲空......你試過調試嗎?! – Tarik
@Betlista對不起,我沒有看到你的評論 – Tarik