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”