AndroidJUnit4

在 Android 上运行 JUnit 4
授权协议 Apache
开发语言 Java
所属分类 开发工具、 单元测试工具
软件类型 开源软件
地区 不详
投 递 者 濮阳奇逸
操作系统 Android
开源组织
适用人群 未知
 软件概览

AndroidJUnit4 是一个让 JUnit 4 可以直接运行在 Android 设备上的开源工具。

示例代码:

public class HelloActivity extends ActivityUnitTestCase<MyActivity> {

    /**
     * For Eclipse with ADT
     */
    public static junit.framework.Test suite() {
        // Should use AndroidJUnit4TestAdapter for to running AndroidDependent
        // TestCases.
        return new AndroidJUnit4TestAdapter(HelloActivity.class);
    }

    public static class MyActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView view = new TextView(this);
            view.setText("Hello, activity.");
            view.setId(android.R.id.text1);
            setContentView(view);
        }
    }

    private Intent startIntent;

    public HelloActivity() {
        super(MyActivity.class);
    }

    @Override
    @Before
    public void setUp() throws Exception {
        super.setUp();
        startIntent = new Intent(Intent.ACTION_MAIN);
    }

    @Test
    public void assertPreconditions() {
        startActivity(startIntent, null, null);
        assertNotNull(getActivity());
    }

    @Test
    public void sayHello() {
        startActivity(startIntent, null, null);
        assertThat(((TextView) getActivity().findViewById(android.R.id.text1)).getText()
                                                                      .toString(), equalTo("Hello, activity."));
    }

}
  • 单元测试 单元测试,简称单测。测试一个类的一个方法是否能正常工作。 通常我们只对public方法进行测试。 测试可以理解为三部分: 创建这个类; 调用这个方法; 验证结果。 对于有返回值的方法,我们验证是否与预期值相同。 没有返回值的方法,我们要验证是否调用了该方法中的其他方法。(通过mock实现) JUnit4 单测工具JUnit4常用注解 @Test 有这个注解,JUnit4就会当做是一个测试

  • 使用InstrumentationRegistry.getInstrumentation().runOnMainSync(): /*** Copyright (c) 2008-2015 CommonsWare,LLC Licensed under the Apache License,Version 2.0 (the "License"); you may not use this file ex

  • 在AndroidJUnit4直接通过getContext()获取到的context并不是当前APP的context,而是instrumentation的context,应使用以下方法来获取context。 InstrumentationRegistry.getInstrumentation().targetContext 或者 InstrumentationRegistry.getTargetCo

  • ./gradlew app:connectedCheck 随后级输出将是: deleteDir(/myapp/build/outputs/androidTest-results/connected) returned: true deleteDir(/myapp/build/outputs/code-coverage/connected) returned: true Starting 0 tes

  •  bulid.gradle中的dependencies的依赖jar包错误recyclerview-v7     There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compil

  • JUnit 4是一种流行的Java单元测试工具。使用JUnit 4和androidx.test包可以为Android程序编写单元测试和Instrument测试。下面我对JUnit 4在Android程序上的使用做一些简单的分析。 JUnit 4中的3个核心概念 首先简单介绍一下JUnit 4。JUnit 4是一个单元测试框架,简单来说,JUnit 4的工作就是运行单元测试,然后将结果展示给用户。在

  • @RunWith(AndroidJUnit4.class) public class VanillaActivityTest { @Rule public final ActivityTestRule activityTestRule = new ActivityTestRule<>(VanillaActivity.class, false, false); @Test public void b

  • 我正在尝试为我的应用添加loginfacebook.但是当我添加一个需要这样做的存储库时.它导致了一个错误. AndroidJUnit4现在无法解决. ExampleInstrumentedTest.java package com.example.user.enyatravelbataan; import android.content.Context; import android.suppo

  • AndroidX Test 包含需要与 AndroidJUnitRunner 一起使用的一组 JUnit 规则。JUnit 规则可提供更高的灵活性,并减少测试中所需的样板代码。 ActivityTestRule 此规则提供单个 Activity 的功能测试。被测 Activity 会在带有 @Test 注释的每个测试运行之前以及带有 @Before 注释的所有方法运行之前启动。它会在测试完成并且带

  • @RunWith(AndroidJUnit4.class)无法识别问题 尝试解决办法如下: //一般没有添加这两行,添加下即可 implementation 'junit:junit:4.12' implementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'junit:junit:4.12' androidTe

  • 加上依赖: androidTestImplementation 'androidx.test:rules:1.2.0' androidTestImplementation 'androidx.test:runner:1.2.0'

 相关资料
  • 问题内容: 借助Android 4.4 KitKat,Google将linux内核升级到3.8版,这是Docker所需的内核版本。 我不知道AUFS部分,但是有没有办法通过此更新在android上运行docker容器? 问题答案: 根据文档,Android内核缺少LXC所需的很多内核功能。 也许将来使用Docker 1.x,可能会编写一个使用Android功能而非LXC的插件。但就目前而言,您需要

  • 问题内容: 提出的每个选项都有一个问题: 我想在普通设备上运行它,所以我希望避免在设备上安装其他操作系统 上个月停止了对JXCore的工作,并且(可能是结果)我无法对其进行编译 自2014年以来就没有开发过NodeJs Anode的Android Port,而且当时并没有真正维护它 我链接到的第二个线程中的第二个答案现在提到了Android的官方节点发行版,但是除了指向最新dist的Browse-

  • 我的iMac上有一个完整的react本机环境,当我运行react本机运行ios时,项目完全运行,但当我使用android执行此操作时,它不工作,metro bundler窗口打开但不工作,并且不显示任何消息。 我必须做什么? 运行“react native run android”后我的终端 运行Android系统后,我的终端的打印屏幕,以及在它下面的metro捆绑包

  • 问题内容: 有谁知道如何运行USSD命令来检查电话的贷方余额(数字为* 123#)并获取结果(贷方余额)以进行进一步处理?谢谢 问题答案: 您可以在Android设备上运行USSD代码,但无法在应用程序中解析结果。将来可能会将此功能添加到Android SDK中,但现在,您必须寻找替代方法。 可以使用简单的调用意图来运行USSD。参见示例: 如评论中所述,还需要电话许可

  • 当我导入时,我无法运行我的应用程序,它会不断报告并且我所有引用facebook的方法都是“不推荐的”。 有人知道这会发生在哪里吗?

  • 我想在Android设备上运行一些需要根权限的命令。这些命令应该使用java代码执行,因此应用程序本身应该能够运行这些命令,而不需要将设备连接到个人电脑并使用shell运行这些命令。 我使用了,然后使用了我想要运行的命令(chmod 666)。chmod666需要一个根设备才能正常运行,因此我尝试先使用获得超级用户权限,然后尝试运行它。我将java代码放在onCreate方法中。这是我的密码: 但