Java 如何为Utilty类创建简单的android测试用例

Java 如何为Utilty类创建简单的android测试用例,java,android,unit-testing,testing,junit,Java,Android,Unit Testing,Testing,Junit,我创建了一个实用程序类: package com.g2.quizification.utils; import com.g2.quizification.domain.Question; public class ParsingUtils { public static Question parse(String raw) { Question question = new Question(); //TODO: parse some stuff

我创建了一个实用程序类:

package com.g2.quizification.utils;

import com.g2.quizification.domain.Question;

public class ParsingUtils {
    public static Question parse(String raw) {

        Question question = new Question();

        //TODO: parse some stuff

        return question;
    }
}
…住在这里的人:

我还按照教程创建了一个测试应用程序,如下所示:

这是我的测试代码,正在等待一些好的“ole TDD”:

package com.g2.quizification.utils.test;


import com.g2.quizification.domain.Question;
import com.g2.quizification.utils.ParsingUtils;

public class ParsingUtilsTest  {

    public void testParse() {

        String raw = "Q:Question? A:Answer.";
        Question question = ParsingUtils.parse(raw);
        //assertEquals("Question?", question.getQuestion());
        //assertEquals("Answer.", question.getAnswer());

    }
}
测试类显然缺少扩展,但所有示例似乎只显示了扩展类似于
ActivityUnitTestCase
的内容。我不是在测试一项活动;我只想在实用程序类中测试一个静态方法。可能吗


创建实用程序测试类似乎应该很简单,但我不确定下一步是什么和/或缺少什么。

测试项目的最佳方法是添加测试项目,使其根目录tests/与主应用程序项目的src/目录处于同一级别。如果您使用的是junit4和eclipse,那么只需右键单击要测试的util类,然后选择New->JUnit test Case

基本上,我希望在源文件夹tests/下和包com.g2.quizification.utils.test中有一个名为ParsingUtilTest的新测试类。测试类应该扩展
TestCase
,并且要在该util类中测试的每个方法都应该在测试类中有一个新方法,名称前面加上“test”。我的意思是,假设在
ParsingUtils
中有一个名为
parseXml
的方法名。
ParsingUtilsTest
(扩展了“TestCase”)中的测试方法名称应命名为
testParseXml

测试类显然缺少扩展,但所有示例似乎只显示了对ActivityUnitTestCase之类的扩展。我不是在测试一项活动;我只想在实用程序类中测试一个静态方法。可能吗

是的,只要您测试的类与android API无关。如果您确实需要使用android api依赖项测试代码,例如,测试视图或活动,那么您可能需要尝试一下。它比扩展ActivityUnitTestCase的要快

我一直在玩robolectric(在android上做TDD),到目前为止,我更喜欢1.1或1.2版而不是2.x版,更稳定,运行速度更快

除了上面提到的工具之外,还有许多编写好的测试用例、命名约定、代码重构等实践

创建实用程序测试类似乎应该很简单,但我不确定下一步是什么和/或我缺少什么


从小步骤开始很好,xUnit测试模式:重构测试代码和极限编程解释是一些好书,供您参考。

对不起,我很困惑。这是在单独的测试项目中还是在主/目标项目本身中?否单元测试与主项目在同一项目中。您将有另一个源文件夹名“tests”,因为您有一个源文件夹名“src”