我正在使用开源库来测试facebook api功能https://code.google.com/archive/p/facebook-test-java-api/
现在我要做的是更改我的测试用户名。我潜入了这个库的代码,发现了以下内容:
public interface FacebookTestUserAccount
{
// irrelevant methods
/**
* Gives access to change settings for the test user.
* @return An {@code AccountSettingsChanger} responsible for updating the account settings.
*/
AccountSettingsChanger changeAccountSettings();
// irrelevant methods
}
现在我的测试是这样的:
@Test
public void updateNameOfTestUser(){
List<FacebookTestUserAccount> allTestUsers = store.getAllTestUsers();
FacebookTestUserAccount facebookTestUserAccount = allTestUsers.get(0);
facebookTestUserAccount.// here after dot I cant see method changeAccountSettings()
}
由于我的refrence方法是接口的类型,并且该方法是在接口中定义的,我正在努力:
为什么我无法在测试类中看到该方法?
这是getALL();
的代码 public List<FacebookTestUserAccount> getAllTestUsers() {
init();
String jsonResponse = get("/%s/accounts/test-users", applicationId);
JSONObject accounts = parseJsonObject(jsonResponse);
LinkedList<FacebookTestUserAccount> result = new LinkedList<FacebookTestUserAccount>();
JSONArray jsonArray = (JSONArray) accounts.get("data");
for (Object element : jsonArray) {
JSONObject jsonUser = (JSONObject) element;
result.add(buildFacebookAccount(jsonUser));
}
log.debug("* Found [{}] accounts on Facebook ", result.size());
return result;
}
答案 0 :(得分:0)
我可以想到两个可能的原因:
您的IDE无法加载自动完成建议。要检查这一点,只需在点后面写changeAccountSettings()
,然后尝试编译。 (我怀疑这是你的问题,因为你的问题就像“为什么我看不到这个......?”
您的代码库中有两个不同的FacebookTestUserAccount
,并且导入了错误的{{p>