gpt4 book ai didi

android - 服务的 JUnit 测试错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:14 24 4
gpt4 key购买 nike

代码:

public class Testprogdi extends ActivityInstrumentationTestCase2 {

public Testprogdi(String pkg, Class activityClass) {
super(pkg, activityClass);
// TODO Auto-generated constructor stub
}

Context mContext;

Registration reg = new Registration();

public void setUp(){
try {
super.setUp();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

mContext = this.getInstrumentation().getContext();
}

public void test(){
Assert.assertNotNull(reg.pass_url());}
public void test1(){
Assert.assertTrue(reg.pass_url().startsWith("www"));}
public void test2(){
Assert.assertTrue(reg.pass_url().startsWith("http"));
}
}

异常(exception):

junit.framework.AssertionFailedError: Class com.android.deviceintelligence.test.Testprogdi has no public constructor TestCase(String name) or TestCase()
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)`

我的所有测试类都遇到了同样的错误。

最佳答案

TestCase 应该有一个无参数的公共(public)构造函数或一个带有单个 String 参数的构造函数。

您应该删除 public Testprogdi(String pkg, Class activityClass) 构造函数并在 setUp() 方法中进行任何类型的初始化或添加

public Testprogdi() {}

public Testprogdi(String name) {
// initialization
}

顺便说一句,如果您进行一些其他更改(与第一个问题无关),您的测试将更易于维护:

为您的测试方法提供更有意义的名称。

无需在 setUp() 中捕获 (Exception e)。

我不明白 test1() 和 test2() 如何同时通过。

关于android - 服务的 JUnit 测试错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9617449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com