草庐IT

Robolectric-Tests

全部标签

android - 如何将 Robolectric、Maven、ActionBarSherlock(最好是 + IntelliJ)集成到 Android 项目中?

一段时间以来,我一直在用头撞墙,试图让maven、robolectric、actionbarsherlock和intellij都能很好地发挥作用。我暂时放弃了使用intellij进行构建,而是专注于maven。当我跳过Maven构建中的测试时,我有一个带有操作栏的应用程序(这告诉我我很高兴继续进行ActionBar集成)。IntelliJ构建在ManifestParsingTest.java上失败,提示它不知道junit在哪里(以及其他问题)。机器人电子集成我已经在项目中成功运行了Robolectric。我从JakeWharton'sgist复制了文件进入src/test/java/c

android - 自定义阴影对象在 Robolectric 中如何工作?

如果我为我的Activity编写自定义Shadow,并使用RobolectricTestRunner注册它,框架是否会在Activity启动时拦截带有我的自定义Shadow的Activity?谢谢。 最佳答案 简短的回答是否定的。Robolectric对其拦截和检测的类有选择性。在撰写本文时,唯一将被检测的类必须具有与以下选择器之一匹配的完全限定类名:android.*com.google.android.maps.*org.apache.http.impl.client.DefaultRequestDirectorRobolect

android - 无法从 Robolectric 2 单元测试创​​建 ActionBarActivity

我正在使用Robolectric2来测试我的Activity。这扩展了ActionBarActivity://ThisActivityusesoneActionBarCompatthemepublicclassMainActivityextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}我的测试是:@RunWith(Robolec

android - 使用 Robolectric 测试 AsyncTaskLoader

有人有幸在Robolectric中为AsyncTaskLoaders编写单元测试吗?我尝试了这个exampleforAsyncTask的修改版本,但它没有表现出相同的行为。特别是onLoadFinished永远不会被调用。是否有任何可行的示例可用于使用Robolectric测试加载器? 最佳答案 不要使用加载程序。它们不容易测试,并且与使用它们的fragment和Activity紧密耦合。相反,将RxJavaObservables用于异步数据流。您可以解耦调度并测试它们在单元测试中同步运行。它更简洁、更直接。

android - 在 robolectric 测试中使用 Assets

在我的robolectric测试中,我正在尝试读取一个文件。由于此文件仅包含测试数据,我已将其放入测试Assets中。目录结构如下所示。src/main/assets/prod_data_filesrc/test/assets/test_data_file但是,当我尝试通过getShadowApplication().getAssets().open(MY_FILE_PATH)读取文件时,它给了我FileNotFoundException。有人知道如何解决这个问题吗? 最佳答案 因为我的测试只是读取这些文件并将文件数据作为Strin

android - 如何使用 Robolectric 隐藏 PackageManager

我的Android应用程序有一个简单的方法来触发显示URL的Intent。protectedvoidlaunchBrowser(intid){Uriuri=Uri.parse(getString(id));Intentintent=newIntent(ACTION_VIEW,uri);PackageManagerpackageManager=getPackageManager();Listactivities=packageManager.queryIntentActivities(intent,0);if(activities.size()>0){startActivity(inte

android - Robolectric 和 Google Analytics 测试错误

我一直在使用Robolectric运行测试,一切都很好。然后我在我的应用程序类中实现了GoogleAnalytics,测试开始失败。当我在测试期间膨胀View时,似乎会发生故障。这是堆栈跟踪:java.lang.NullPointerException:nullatcom.google.analytics.tracking.android.AnalyticsGmsCoreClient$AnalyticsServiceConnection.onServiceConnected(AnalyticsGmsCoreClient.java:176)atorg.robolectric.shadow

Marshmallow PermissionHelper 的 Android Robolectric 单元测试

我想学习Robolectric以将其用于AndroidMarshmallow应用的单元测试。我用一些方法编写了一个PermissionHelper来简化权限处理。为了开始对此类进行单元测试,我尝试测试最简单的方法:publicstaticbooleanhasPermissions(Activityactivity,String[]permissions){for(Stringpermission:permissions){intstatus=ActivityCompat.checkSelfPermission(activity,permission);if(status==Packag

android - Robolectric buildActivity() 与 Mockito spy ?

在我看来,使用Robolectric的生命周期实用程序(从Robolectric.buildActivity()开始)构建Activity单元测试和使用Mockitospy监视同一个Activity是相互排斥的。因为buildActivity()控制着Activity对象的构造,所以为Activity添加spy的唯一地方是在调用buildActivity()之后。但是,spy在事后添加时无法正常运行。在监视ActivityController生命周期方法(例如create()、start()和)的副作用时尤其如此恢复()。我假设这是因为ActivityController持有对“真实”

结合Mocha和Chai来编写一个简单的函数进行单元测试 What is the best way to write clean unit tests in JavaScript

作者:禅与计算机程序设计艺术文章目录1.简介2.什么是单元测试?3.为什么要进行单元测试?4.编写干净的单元测试4.1TDD4.2为什么要选择Mocha和ChaiMochaChai4.3使用Mocha和Chai编写单元测试5.单元测试代码实战6.未来发展趋势1.简介很多人认为学习编程并不仅仅是在学语法、数据结构等基础知识。还有很多其他要素比如业务逻辑、用户体验、性能优化、可靠性保障等都需要考虑到。所以,单元测试也是一个非常重要的环节。本文将会介绍单元测试的相关知识,包括什么是单元测试、为什么要进行单元测试、如何编写干净的单元测试、单元测试的工具链及运行方式等。并且结合Mocha和Chai来编写