Android和JUnit:如何将单个测试添加到测试套件中?

Android和JUnit:如何将单个测试添加到测试套件中?,第1张

概述我一直在苦苦挣扎.在JUnit / Android中创建测试套件时,我可以执行以下 *** 作: >添加套件位于同一包中的所有测试(在所有类中) >添加一个特定的类contatining testMethods 但是,我完全无法做到以下几点: >将特定类的testMethod添加到测试套件中. 现在,我明白这应该是可能的,因为有无数的例子表明了这一点. 这是它应该如何工作: 测试类包含测试方法: imp 我一直在苦苦挣扎.在JUnit / Android中创建测试套件时,我可以执行以下 *** 作:

>添加与套件位于同一包中的所有测试(在所有类中)
>添加一个特定的类contatining testMethods

但是,我完全无法做到以下几点:

>将特定类的testMethod添加到测试套件中.

现在,我明白这应该是可能的,因为有无数的例子表明了这一点.

这是它应该如何工作:

测试类包含测试方法:

import com.frank.androID.lookup.someClass;import androID.test.AndroIDTestCase;public class ArithmeticsTests extends AndroIDTestCase {    SomeClass sctest;    protected voID setUp () throws Exception {        sctest = new SomeClass();        super.setUp();    }    public voID testAddNumbers () {        assertEquals(9,sctest.addNumbers(3,6));    }    public voID testSubtractNumbers () {        assertEquals(2,sctest.subtractNumbers(6,4));    }    protected voID tearDown () throws Exception {        super.tearDown();    }}

这是测试套件类:

import junit.framework.TestSuite;public class ProjectTestSuite_SomeTests extends TestSuite {    public static Test suite () {        TestSuite suite = new TestSuite("ArithmeticsTests");        suite.addTest(new ArithmeticsTests("testAddNumbers"));        suite.addTest(new ArithmeticsTests2("testSubtractNumbers"));        return suite;    }}

现在,我尝试添加单个测试方法的两行导致此错误:

The constructor ArithmeticsTests(String) is undefined

现在,我已经闲逛了很长时间,我找不到任何解释.似乎缺少某些东西,因为它不理解我正在尝试做什么.它抱怨的“字符串”实际上是方法的名称 – 我不是试图将字符串传递给类的构造函数 – 我正在尝试将类的方法添加到测试套件中.

我在这里使用AndroID SDK附带的JUnit版本,我还没有安装任何其他相关的版本.有什么遗失的吗? (显然有,有点什么?)

编辑:

我在ArithmeticsTests课程中添加了一个construtor:

public ArithmeticsTests (String s) {}

现在上面的错误消失了.

但是,当我运行测试套件时,我收到此错误:

testSuiteCreationFailed....Caused by: java.lang.NullPointerException: Method name must not be null.
解决方法 我提出了同样的问题并发现,虽然AndroIDTestCase没有构造函数接受String参数,但它确实有一个setname(String name)方法.通过调用setname方法,您可以将单个方法添加到测试用例中.
使用示例中的代码,您的测试套件可能如下所示:

import junit.framework.TestSuite;public class ProjectTestSuite_SomeTests extends TestSuite {    public static Test suite () {        TestSuite suite = new TestSuite("ArithmeticsTests");        ArithmeticsTests arithmeticsTests = new ArithmeticsTests();        arithmeticsTests.setname("testAddNumbers");        suite.addTest(arithmeticsTests);        ArithmeticsTests2 arithmeticsTest2 = new ArithmeticsTests2();        arithmeticsTest2.setname("testSubtractNumbers");        suite.addTest(arithmeticsTest2);        return suite;    }}
总结

以上是内存溢出为你收集整理的Android和JUnit:如何将单个测试添加到测试套件中?全部内容,希望文章能够帮你解决Android和JUnit:如何将单个测试添加到测试套件中?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1127385.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存