此测试应该通过调用public void saveButton(View v) {
String data = getData();
List<String> linesData;
linesData = new ArrayList<>();
if (data != null) for(int i = 0; i < data.split("\n").length; i++){ linesData.add(data.split("\n")[i]); }
for (int i = 0; i < linesData.size(); i++) {
if (linesData.get(i).contains(personName)) linesData.remove(i);
}
String submit = personNameTV.getText().toString() + ":" + extraInfoTV.getText().toString()
+ ":" + websitesTV.getText().toString();
linesData.add(submit);
String finalSubmit = "";
for (int i = 0; i < linesData.size(); i++){
finalSubmit += linesData.get(i) + "\n";
}
saveData(finalSubmit);
Intent i = new Intent(EditActivity.this, PersonActivity.class);
i.putExtra("person", personNameTV.getText().toString());
startActivity(i);
}
private String getData() {
try {
String toReturn;
FileInputStream fis = openFileInput("info");
InputStreamReader inputStreamReader = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(inputStreamReader);
StringBuffer sb = new StringBuffer();
while ((toReturn=br.readLine()) != null){
sb.append(toReturn + "\n");
}
fis.close();
return sb.toString();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return " ";
}
private void saveData(String s){
try {
FileOutputStream fos = openFileOutput("info", MODE_PRIVATE);
fos.write(s.getBytes());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
super方法登录用户,该方法传递凭据(URL,用户名/密码等),然后将用户注销。但是,当我运行它时,它运行TALogin.test()
部分,然后关闭并再次运行它,但执行注销部分。
所以,我得到以下内容:
TALogin
我只想运行一次;登录然后注销。
这是我的代码:
Ran 2 tests in 65.990s
OK
答案 0 :(得分:1)
这种情况正在发生,因为您没有告诉nose
您只想在TALogout_Test
中运行测试。它正在运行TALogin.test
和TALogout_Test.test
。
指定要加载测试的类的一种方法是使用nose.run()
的{{1}}参数和suite
的{{3}}方法:
unittest.TestLoader