繁体   English   中英

如何为实用程序类创建简单的Android测试用例

[英]How to create a simple android test case for a utiltiy class

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

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依赖项来测试代码,例如,测试视图或活动,则可能需要尝试使用robolectric 它比扩展ActivityUnitTestCase的速度更快。

我一直在玩robolectric(在Android上做TDD),到目前为止,我更喜欢1.1或1.2到2.x版本,更稳定并且运行速度更快。

除了上述工具外,还有许多用于编写良好测试用例,命名约定,代码重构等的实践。

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

从小步骤开始,xUnit测试模式(重构测试代码和《极限编程说明》)是一本好书,供您参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM