我有一个我创建的实用工具类:
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
的扩展。 我没有测试一项活动;我只想在实用程序类中测试静态方法。这可能吗?
似乎就像创建实用程序测试类一样简单,但我不确定下一步是什么和/或我缺少什么。 < / p>
答案 0 :(得分:0)
测试项目的最佳方法是添加测试项目,使其根目录test /与主应用程序项目的src /目录处于同一级别。如果您使用的是junit4和eclipse,您只需右键单击要测试的util类,然后选择New - &gt; JUnit测试用例。
基本上我希望在源文件夹test /和com.g2.quizification.utils.test包中有一个名为ParsingUtilTest的新测试类。测试类应该扩展TestCase
,并且要在该util类中测试的每个方法都应该在测试类中使用名为“test”的名称的新方法。我的意思是说,假设您在ParsingUtils
中有一个名为parseXml
的方法名称。 ParsingUtilsTest
中的测试方法名称(Extend'TestCase')应命名为testParseXml
答案 1 :(得分:0)
测试类显然缺少扩展,但所有示例似乎只显示像ActivityUnitTestCase这样的扩展。我没有测试一项活动;我只想在实用程序类中测试静态方法。这可能吗?
是的,只要您正在测试的类与android apis无关。如果您确实需要使用android api依赖项测试代码,例如,测试视图或活动,您可能想尝试使用robolectric。它比扩展ActivityUnitTestCase的速度要快。
我一直在玩robolectric(在android上做TDD),到目前为止,我更喜欢1.1或1.2到2.x版本,更稳定,运行速度更快。
除了上面提到的工具之外,还有许多编写好的测试用例,命名约定,代码重构等的实践。
似乎创建一个实用程序测试类应该很简单,但我不确定下一步是什么和/或我缺少什么。
从小步骤开始,xUnit测试模式:重构测试代码和极限编程解释是一些很好的书供你参考。