2010-11-02 48 views
2

全部,关于在JUnit中声明的查询

我很难理解Junit中assertXXX()的概念。目前,我有一个方法A(String fileName),它为输入filename“XXX.XX”生成一个xml文件。所以我的测试用例包括测试代码是否生成任何文件,而不仅仅是错误的XML文件,即方法A应该只生成XML文件。

我的代码是:

testCreateFile() 
{ 
    String fileName = "testFile.csv"; 
    A(fileName); 
    File fileObj = new File (fileName); 
    assertFalse(fileObj.exists()); // Since I check if the file should not be created 

} 

如果我这样做,我得到一个AssertionError和JUnit窗口显示2次失败。我必须处理这个异常吗?

回答

1

如果A创建一个文件,你不想assertTrue?换句话说,您希望在运行A后找到该文件。然后声明该文件的内容是预期的xml ...

如果异常是失败,则不需要处理例外。

+0

那么,我的实际代码使用fileName.indexOf(“。xml”)检查扩展。但是,对于上面的代码发布,A不应该创建一个.csv文件,因此我期望assertFalse()正常工作。 – 2010-11-02 19:20:36

+0

啊我明白了。到底什么是问题呢?你得到什么错误? – hvgotcodes 2010-11-02 19:22:19

+0

我的问题是,assertFalse()给了我这个AssertionError,如果我使用assertTrue(),那就没有错误。基本上,我发现很难理解如何使用断言函数。是否应该用于测试传递的有效信息或传递的无效信息。 – 2010-11-02 19:37:43