我对Android非常陌生,正在使用Robotium编写一些基本的Android测试,但失败并出现异常"android.view.ViewRoot$CalledFromWrongThreadException:Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews."下面是基本的测试用例描述:-测试用例:-publicvoidtestSearch(){Activitya=getActivity();SearchItemActivitysearch=newSearchItemActivity(solo);search.
我正在为一个依赖于通过Intent传递给它的附加内容的类编写一个androidJunit测试。我能够让类(class)正常工作,但我仍然想知道如何为这样的类(class)编写单元测试,因为测试仍然失败。publicclassAddClassEventextendsActivity{privateStringeventType;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);Bundleextras=getIntent().getExtras();finalS
我注意到,在通过TestCase派生的测试类测试纯Java类时和AndroidTestCase,LogCat输出消失。是否仍然可以捕获这些消息的输出?或者我唯一的办法是使用更慢的ActivityInstrumentationTestCase2作为基类? 最佳答案 我有类似的问题...这里的重点是,在AndroidJunit模式下运行项目时,Eclipse中可用的logcatView不显示任何内容。至少,在我使用的Android2.1中,是这样的行为。您可以通过从命令行(终端窗口)检查logcat来解决此问题:#checkthedev
我需要在运行时从代码中确定应用程序是否在TestInstrumentation下运行。我可以使用一些env/system变量来初始化测试环境,但是EclipseADK启动配置不允许我这样做。默认的Android系统属性和环境没有任何关于它的数据。此外,无论应用程序是定期启动还是在测试中,它们都是相同的。这可能是一个解决方案:IsitpossibletofindoutifanAndroidapplicationrunsaspartofaninstrumentationtest但由于我不测试Activity,所以那里提出的所有方法都行不通。ActivityManager.isRunning
在使用Mockito和JUnit4为以下代码编写单元测试时需要帮助,publicclassMyFragmentPresenterImpl{publicBooleanisValid(Stringvalue){return!(TextUtils.isEmpty(value));}}我尝试了以下方法:MyFragmentPresentermMyFragmentPresenter@Beforepublicvoidsetup(){mMyFragmentPresenter=newMyFragmentPresenterImpl();}@TestpublicvoidtestEmptyValue()th
我必须构建一个使用sqlite的应用程序。现在我想编写我的单元测试。这些单元测试应该测试我的类SQLiteBridge。SQLiteBridge为Model的每个子类提供DAO。现在我遇到了一个问题,我需要一个上下文来创建我的SQLiteBridge。SQLiteBridge在系统上创建和处理SQLite数据库..从哪里获取上下文对象?我的设置是这样的(所以我使用Junit4[感谢上帝]):http://tools.android.com/tech-docs/unit-testing-support编辑:我希望有像旧的AndroidTestCase这样的方法来扩展而不会丢失Junit4
当我单击运行测试按钮时,AndroidStudio会构建并尝试运行测试。70%的情况下,它会说“正在实例化测试...”,并且永远不会从那里去任何地方。如果我终止adb-server、拔下设备或终止模拟器,测试套件会神奇地运行良好。那天晚上我什至看到了一个奇怪的行为。当它说实例化测试时,我拔掉了设备。AndroidStudio发现它消失了。几个小时后,我从口袋里掏出手机,解锁,不知从何而来,它开始运行测试套件。知道什么会导致这种行为吗?我找到的最接近的是AndroidTeststoppingininstantiatingtests,但这是指不同的问题。 最佳答
我在AndroidStudio1.2.2中使用JUnit测试。测试运行没有问题。唯一让我困惑的是AndroidStudio无法解析实际的org.junit包。显然它确实解决了它,否则测试将无法运行。但是导入和注释在AndroidStudio中被标记为红色,如下所示。这是AndroidStudio中的错误吗?我尝试重新构建应用并重新启动AndroidStudio,但这并不能解决问题。importorg.junit.Test;importstaticorg.junit.Assert.*;//cannotresolvesymbol'junit'publicclassCanadaTest{@T
我发现我不是唯一遇到此问题的人,但我没有找到正确的答案。我有一个要测试的android项目。我为项目的每个类创建了一个junit测试类。我的问题是当我运行测试时,出现以下错误:java.lang.NoClassDefFoundError:android/content/Context这是我的类测试:publicclassDevicesBDDTestextendsTestCase{DevicesBDDbdd;/***@throwsjava.lang.Exception*/protectedstaticvoidsetUpBeforeClass()throwsException{}/***@
我正在使用带有Espresso的AndroidJUnitRunner。我写了一个简单的测试,但总是收到这个异常。根据Stackoverflow的回答,问题是搞砸了JUnit3和JUnit4,但我从未在我的项目中使用过JUnit3。junit.framework.AssertionFailedError:Notestsfoundincom.walletsaver.app.test.espresso.SignUpPopupTestpackagecom.walletsaver.app.test.espresso;importandroid.support.test.rule.Activity