当前位置: 首页 > 知识库问答 >
问题:

android studio中UnitTest到Instrumentation Test的转换

丁德义
2023-03-14
Class not found: "com.mypkg.MyCoolObjectTest"Empty test suite.

我记得这是一种设置被测试文件夹的方法。但我已经不记得了。

我想在测试中使用一些android库,例如

public String stripFormatting(String input){
    return Html.fromHtml(input).toString();
}

所以我需要仪器。

@RunWith(AndroidJUnit4.class)
public class MyCoolObjectTest {
    @Test
    public void testJustToKnow() {
        String actual = "<b>0</b>";
        String expected = "0";
        assertThat(stripFormatting(actual), equalTo(expected));
    }
    public String stripFormatting(String input) {
        return Html.fromHtml(input).toString();
    }
}

11/04 13:51:16:启动testJustToKnow()$adb push/users/me/studioprojects/myapp/app/build/outputs/apk/app/build/outputs/apk/app-debug.apk/data/local/tmp/com.mypkg.myapp$adb shell pm install-r“/data/local/tmp/com.mypkg”PKG:/data/local/tmp/com.mypkg成功

$adb push/users/me/studhtml" target="_blank">ioprojects/myapp/app/build/outputs/apk/app/debug-androidtest-unaligned.apk/data/local/tmp/com.mypkg.myapp.test$adb shell pm install-r“/data/local/tmp/com.mypkg.mypp.test”pkg:/data/local/tmp/com.mypkg.mypkg.test Success

运行测试

$adb shell am Instrument-W-R-E debug false-E class com.mypkg.myapp.utils.myCoolObjectTest#TestJustToKnow com.mypkg.myapp.test/android.test.InstrumentationTestRunner客户端尚未就绪.测试运行已开始

junit.framework.assertionfailederror:在Android.test.androidTestRunner.runtest(AndroidTestRunner.java:191)在Android.test.androidTestRunner.runtest(AndroidTestRunner.java:176)在Android.test.instrumentationTestRunner.onstart(InstrumentationTestRunner.java:555)在Android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1959)在Android.test.instrumentation

测试一直进行到完成。

共有1个答案

洪胜涝
2023-03-14

我也有同样的问题。以下是我如何解决的:

  • 在Android Studio中运行>编辑配置...
  • 在Android JUnit标题下,选择您的测试并删除它(减号按钮)
  • 添加新的测试配置(加号按钮)并选择Android Instrumented Tests
  • 设置以下选项:
  • 模块:app
  • 测试:类
  • 类:在此处选择或输入带有检测测试的类
  • 单击确定

现在一切都该起作用了。

 类似资料:
  • 我正在尝试建立一个简单的“飞鸟”游戏,我需要鸟的图像倾斜,上升时指向上方,反之亦然。然而,当旋转我的图像时,它会在稍微下降或轻触屏幕后部分或完全从屏幕上消失。谁能告诉我怎么解决这个问题吗?

  • Install and run // 将其加入到 composer.json 并更新: composer require "phpunit/phpunit:4.0.*" // 运行测试 (在项目根目录下运行) ./vendor/bin/phpunit Asserts $this->assertTrue(true); $this->assertEquals('foo', $bar); $this-

  • 我试图在遗留的objc代码中测试一些Swift类(@objc class)。我正在测试类中导入“UnitTests Swift.h”。 然后我得到了这个错误: 在自动生成的“UnitTests Swift.h”中找不到模块“MyApp” 这是什么里面的顶部部分的"UnitTests-Swift. h" 我清理了项目,检查了所有相关标志(“在Xcode单元测试中使用@testable时没有这样的模块

  • 我目前正在提供覆盖——通过MockMVC请求调用测试我的DTO的验证。最近,我在我的应用程序的SupportAlitVisulations字段中引入了新的值。易于维护和扩展的特性。请参阅下面的代码片段: 单元测试现在失败,因为该字段没有被@Value注释的定义属性注入。我不确定ReflexiTestUtils是否可以帮助我,因此非常感谢关于如何在UnitTest中注入所需值的任何建议。 Sprin

  • 模块: unittest 目的: 自动测试框架 python版本: 2.1+ 描述 Python的unittest模块, 有时被称为PyUnit, 它是基于由Kent Beck 和Erich Gamma设计的XUnit框架的. 这种模型被重复使用在其他很多语言(如C, perl, Java和Smalltalk)中. 这个由unittest实现的框架支持fixtures, test suites,

  • 我想做一个应用程序,使用谷歌翻译API。自从我添加了 我的构建中的依赖项。gradle我有个错误: 现在必须显式声明注释处理器。发现编译类路径上的以下依赖项包含注释处理器。请将它们添加到annotationProcessor配置中。-自动值-1.2。jar(com.google.auto.value:auto-value:1.2)或者,设置android。defaultConfig。javaCom