社区首页 >问答首页 >使用Espresso测试时,在<package>中没有发现测试

使用Espresso测试时,在<package>中没有发现测试
EN

Stack Overflow用户
提问于 2015-12-18 23:07:27
回答 3查看 5.9K关注 0票数 15

我想在我的安卓应用程序中测试我的MainActivity。因此,我创建了第一个测试用例来测试按钮的功能。如果用户单击此特定按钮,则应打开一个新活动。

这是我的代码:

代码语言:javascript
代码运行次数:0
复制
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void startNewActivityTest() {
        Intents.init();
        onView(withId(R.id.main_new)).perform(click());
        intended(hasComponent(NewActivity.class.getName()));
        Intents.release();
    }

    @Before
    public void setup() {
        closeSoftKeyboard();
    }

}

不幸的是,我得到了以下例外:

代码语言:javascript
代码运行次数:0
复制
junit.framework.AssertionFailedError: No tests found in package.MainActivityTest
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)

这是我的分级文件:

代码语言:javascript
代码运行次数:0
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "23.0.1"

    lintOptions {
        abortOnError false
    }

    defaultConfig {
        applicationId "package"
        minSdkVersion 14
        targetSdkVersion 19
    }

    signingConfigs {
        debug {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
        release {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.google.android.gms:play-services:4.2.+'
    androidTestCompile 'com.android.support:support-annotations:19.0.1'
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
    // Set this dependency if you want to use Hamcrest matching
    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
    androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-19 16:56:40

Set the instrumentation runner

在同一个build.gradle文件中添加android.defaultConfig中的以下一行: testInstrumentationRunner testInstrumentationRunner

代码语言:javascript
代码运行次数:0
复制
apply plugin: 'com.android.application'

android {
    ...

    defaultConfig {
        ...

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    // App's dependencies, including test
    compile 'com.android.support:support-annotations:23.0.1'

    ...
}

我从未使用Espresso意图,但也许您需要像this这样的here

使用Espresso意图时,使用IntentsTestRule而不是ActivityTestRule。IntentsTestRule使在功能UI测试中使用Espresso意图API变得容易。这个类是ActivityTestRule的扩展,它在每个带有@Test注释的测试之前初始化Espresso-意图,并在每次测试运行后释放Espresso-意图。活动将在每次测试后终止,此规则可以与ActivityTestRule相同的方式使用。

票数 27
EN

Stack Overflow用户

发布于 2020-01-20 08:39:20

在2020年,您可能希望使用这个更新的AndroidX (jetpack)测试运行程序。

代码语言:javascript
代码运行次数:0
复制
android {
    ...
    defaultConfig {
        ...
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
}
票数 5
EN

Stack Overflow用户

发布于 2017-09-28 04:30:08

代码语言:javascript
代码运行次数:0
复制
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

下落不明

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34368276

复制
相关文章
android-espresso测试框架简单使用
参考文章 http://blog.csdn.net/qiang_xi/article/details/52933593 buid.gradle testCompile ‘junit:junit:4.12’ androidTestCompile ‘com.android.support.test.espresso:espresso-core:2.2.+’ androidTestCompile ‘com.android.support.test:runner:0.4.+’ androidTestCompile ‘com.android.support.test:rules:0.2’
tea9
2022/07/16
3350
android-espresso测试框架简单使用
Android UI 测试 - Espresso
Android UI 测试框架,在真机运行,相比手动测试,相当于把流程自动化了,并且自动监测结果。
三流之路
2018/09/11
1.1K0
Android UI 测试 - Espresso
Android使用Espresso实现UI自动化测试
谷歌2013年的时候开源了Espresso,谷歌的思路是,等到它足够成熟和稳定以后,将其迁移到Android SDK中,以此可见对他的重视。Google使用Espresso测试了他们自己的超过30个应用程序,包括G+、Maps和Drive。
蜻蜓队长
2018/08/03
1.5K0
Android使用Espresso实现UI自动化测试
当 Espresso 遇见 Android 单元测试
本文介绍了如何在Android App中实现UI自动化测试,重点介绍了Espresso的使用,包括如何利用Espresso进行UI自动化测试、如何处理异步加载和空指针等常见问题。同时,也介绍了如何为UI控件添加单元测试,并使用Espresso对UI控件进行测试。通过本文的学习,读者可以掌握如何在Android App中实现UI自动化测试,提高代码的健壮性和可维护性。
腾讯移动品质中心TMQ
2017/08/22
2.5K0
当 Espresso 遇见 Android 单元测试
当测试发现300个缺陷时
当测试人员发现了这么多问题后,是否还隐藏着更多的未知问题?当测试人员疲于提交大量的缺陷时,测试执行的有效性是否降低了?还有哪些风险项存在?
CKL的思考
2023/08/28
2140
当测试发现300个缺陷时
Android单元测试框架Espresso介绍
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/12
1K0
npm publish package 测试流程
上一篇 npm publish package 发布流程 中说了开发的过程,但是对于测试和调试部分并没有过多的去讲述这些事情。如果一次都说完的话文章就太长了,而且只用文字描述的话,部分内容可能无法很好的表述出来,那么读起来就略显干涩容易烦躁。所以就把这部分单独拿出来说一说。
林小帅
2020/03/27
1.1K0
npm publish package 测试流程
(翻译)LearnVSXNow! #11- 测试package
在前面的文章里,当我们创建package的时候,总是在向导那里勾掉测试选项,从而不采用自动测试的方式,只是手动的测试它:把package运行起来,并且看看它是否有我们预期的功能。
明年我18
2019/09/18
8560
(翻译)LearnVSXNow! #11- 测试package
Maven package 跳过测试用例
在实际应用中,当我们已经写好了测试用例,并且单个测试已经通过,所以在package的时候不希望再运行一遍测试用例,一个可能是会出一些不必要的错误,因为有些东西我们已经删除了,再去删除,或者说数据库清空了会出现一些规则的错误,无法打包,因此要避免这些比较麻烦的问题。 方法一
院长技术
2020/10/30
6000
HttpClient在HTTP协议接口测试中的使用
TTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求,下面我将结合HttpClient来实现一下这三种形式:
流柯
2018/08/30
1.9K0
LevelDB在测试中应用应用
LevelDB是Google开源的持久化KV单机数据库,这个有点类似Redis,通常我们在存储key-value的数据都会选择Redis。但是唯一的问题就是得有Redis给我们用。LevelDB可以完美解决我们这种问题,存储在本地的文件当中,如果数据量不多的话,可以直接提交在代码中提交文件,然后就可以把数据放在这个数据库中。
FunTester
2022/01/05
1.6K0
Espresso浅析和使用
[1510886666303_8428_1510886580252.jpg] Espresso是一个Google官方提供的Android应用UI自动化测试框架。Google希望,当Android的开发
QQ音乐技术团队
2017/11/17
2.4K0
Espresso浅析和使用
没有最好,只有A/B测试!
“A/B测试不一定是最好的评估方法。它不是万能的,但不会A/B测试肯定是不行的。”
阿泽 Crz
2021/07/06
1.6K0
没有最好,只有A/B测试!
java怎么测试_java中如何使用Junit测试[通俗易懂]
百度百科的解释是这样的:单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
全栈程序员站长
2022/09/08
1.6K0
持续测试 | 测试流程提效:在 CODING 中实践迭代内的持续测试
持续测试(或者敏捷测试)要求测试作为基础活动贯穿于软件交付的整个过程中。相比起在 DevOps 时代陷入困境的传统测试模式,持续测试首要改变的是“测试后置“的状况,强调测试前置,通过尽早定义测试、测试与开发并行、在过程中保持紧密协作,从而实现快速反馈业务风险的目的。持续测试的实践变革是关于人、流程和技术的全面工程:既需要技术上的支撑,比如持续集成、持续部署的基础能力,也需要人员自动化代码能力的提升,同时对流程的改进也是其中不可或缺的一环。 正如敏捷宣言开篇提出的四个核心价值,团队应该聚焦在为客户带来价值的行为和结果、而不是传统的按部就班完成既定项目的事项和生产过程交付物,这对测试的要求也是一样:
腾讯云 CODING
2021/06/03
1.2K0
持续测试 | 测试流程提效:在 CODING 中实践迭代内的持续测试
nmap在渗透测试中的运用
Nmap这个神器在渗透测试中是必不可少的。从信息收集到拿shell。有时候还真少不了它!本文将要介绍nmap在渗透测试中,都有那些运用和攻击手段。
逍遥子大表哥
2021/12/19
1.6K0
nmap在渗透测试中的运用
Phaser类在性能测试中应用
Phaser的功能与CountDownLatch和CyclicBarrier有部分重叠,同时提供了更丰富的语义和更灵活的用法。Phaser比较适合这样一种场景,一种任务可以分为多个阶段,现希望多个线程去处理该批任务,对于每个阶段,多个线程可以并发进行,但是希望保证只有前面一个阶段的任务完成之后才能开始后面的任务。这种场景可以使用多个CyclicBarrier来实现,每个CyclicBarrier负责等待一个阶段的任务全部完成。但是使用CyclicBarrier的缺点在于,需要明确知道总共有多少个阶段,同时并行的任务数需要提前预定义好,且无法动态修改。而Phaser可同时解决这两个问题,可以随时在任务过程中增加、删除需要等待的个数。
FunTester
2020/08/10
8100
JDBC 在性能测试中的应用
JDBC(Java DataBase Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
程序猿川子
2022/07/01
1.1K0
Python在接口测试中的应用
接口测试的方式有很多,可以使用的工具有jmeter,postman,soapUI等,也可以自己写代码进行接口测试(Python,java,go等等),工具的使用相对来说都比较简单,开箱即用。但如果接口中定义了一些需要加解密、数字签名等一些动态计算时,工具就很无助,唯有写代码进行实现测试。所以要根据接口协议,有针对性的进行选择工具,当工具不适合项目时需要进行工具开发。对于工具开发选择语言,语言本身没有优劣之分,选择自己擅长的和合适的。相对于java,go语言,Python不需要编译,而且支持的库很多,是其特点;其支持http协议接口的有urllib,urllib2以及requests库,支持websocket协议的库有websockets、websocket-client,支持grpc的库有grpcio、grpcio-tools,以及支持图形界面的PyQt5。本文中使用的Python版本为3.9.0,下面简单介绍下http、websocket、grpc接口示例,最后介绍使用PyQt5打造自己的测试工具。
芯动大师
2022/11/15
3K0
Python在接口测试中的应用
点击加载更多

相似问题

Android 1.3.2 + Espresso -没有发现测试

11

使用Sbt进行测试-没有发现测试

10

Android测试:没有发现测试

14

使用Espresso测试Snackbar

10

在espresso测试中超时,测试不会运行。

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文