我是新手。我正在进行JUnit测试。这是我正在测试的内容:我有一个包含记录列表的输入文件。如果记录有电子邮件,我必须将其添加到我的输出文件,名为myemailfile.txt
在我的JUnit测试中,我必须测试myemailfile.txt中是否包含email = testEmail@gmail.com的人
有人可以告知如何查看文件,并检查此类记录是否已记录到文件中。
Here is my file:
First Name,Last Name,Email,Id
John ,Dough ,johnsemail@gmail.com ,12345
Jane ,Smith ,mytestemail@gmail.com ,86547
Mary ,Wells ,johnsemail@gmail.com ,76543
以下是我的测试
@Test
public void isRecordIncludedInEmailFile() throws IOException{
String testFile = "C:/Users/myname/myemailfile.txt";
BufferedReader br = null;
String line = "";
String fileSplitBy = ",";
try {
br = new BufferedReader(new FileReader(testFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] field = line.split(fileSplitBy);
//read through the file and see if the email that I expect (testEmail@gmail.com) exists in the file
System.out.println("Email [email= " + field[2] + " , first name=" + field[0] + "]");
//the line below should assert if "testEmail@gmail.com" exists in the file
// assertEquals("testEmail@gmail.com", field[2]);
}
谢谢
答案 0 :(得分:1)
您似乎错过了单元测试的关键点:您可以使用它们来测试您的java类;不是某个文件包含一些内容。
换句话说,这里要做的是合理的事情:
最后提示:除非这是"学习练习",否则不想要手动解析该文件内容。您看,该数据使用CSV格式(逗号分隔值)。编写代码来读取这些数据并解析它...意味着重新发明轮子。那里有很多图书馆为你工作。