【发布时间】:2019-03-05 14:59:08
【问题描述】:
我正在创建一个简单的测验应用程序,用户在其中回答五个问题并将结果烤到屏幕上。在我的 MainActivity 中,我使用参数 context 和 activity 调用 questionsMethods 类的构造函数。
我的问题是:如何在 JUnit 测试类中获取 MainActivity 的上下文和活动?我需要这个,因为 questionsMethods 中的方法利用了上下文和活动。
部分代码: 主要活动:
public class MainActivity extends AppCompatActivity {
questionsMethods myQuestionMethods = new questionsMethods(this, this);
private String[] questionArray = new String[30]; // Holds text file
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssetManager assetManager = getAssets();
myQuestionMethods.readWriteFile("listofquestions.txt", questionArray); // Reads from text file into array
问题方法:
public class questionsMethods {
private Context mContext;
private Activity mActivity;
private int localCounterForCurrQuestionCount = 1;
private String[] localQuestionsArray = new String[30];
public questionsMethods(Context context, Activity activity) {
mContext = context;
mActivity = activity;
}
public void readWriteFile(String fileName, String[] questionArray) {
int count = 0; // Holds count of array index in which a line is stored
try {
String nextLine;
InputStream is = mContext.getAssets().open(fileName); // Retrieves and opens fileName
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
while ((nextLine = bufferedReader.readLine()) != null) { // Check if line incrementer reaches the end
questionArray[count] = nextLine;
count++;
}
} catch (java.io.IOException ex) {
Log.i("Error", "Cannot read file");
System.exit(1);
}
localQuestionsArray = questionArray;
}
【问题讨论】:
标签: java android android-activity junit android-context