我已经为绘图应用构建了一个自定义View(DrawView)。它在很大程度上取决于内部位图的实际宽度和高度。当我尝试使用Robolectric2.2对其进行测试时,View的长度和宽度均为0,这使我的内部逻辑崩溃。我怎样才能模拟真实的屏幕尺寸?我使用一个简单的LinearLayout和DrawView作为其中唯一要测试的元素。这是我的布局:这是我的单元测试:@RunWith(RobolectricTestRunner.class)publicclassDrawViewTest{Activityactivity;DrawViewdrawView;LinearLayoutlayout;@B
最近我们开始向我们的Android应用项目添加测试。我们开始使用Robolectric,但由于我们在Couchbase中遇到的问题,最近不得不将其取消并只使用普通测试。在添加Couchbase之前,我们的测试在使用Roblectric运行时运行良好。我从一个没有Couchbase的新分支中取出Robolectric并改用标准连接测试。我已经退出Robolectric,并且我的所有测试都再次运行。HTML测试报告正确生成了我们期望的所有结果。如果测试失败,控制台会准确反射(reflect)哪个测试失败以及失败原因。我们遇到的问题是,尽管所有测试都再次运行(并通过),但测试失败并显示以下消
我刚刚使用新应用设置了Roboelectric3.2.2,并且编写了我的第一个简单测试:@RunWith(RobolectricTestRunner.class)@Config(manifest="src/main/AndroidManifest.xml",packageName="my.pacakge.name.debug")publicclassMainActivityTest{@TestpublicvoidclickButton(){MainActivitymainActivity=Robolectric.setupActivity(MainActivity.class);Str
在过去的几天里,我开始研究roboguice、robolectric和mockito。我有一个带有登录屏幕的小型Android应用程序,其中包含用于更快输入用户名的AutoCompleteTextView。AutoCompleteTextView的用户名存储在sqlite数据库中。publicclassMainActivityextendsRoboActivityimplementsView.OnClickListener{@InjectView(R.id.startScreen_Login_Button)privateButtonloginButton;@InjectView(R.i
所以我正在尝试使用Robolectric为我的Activity编写单元测试,但是我不知道如何提供模拟View模型,因为我的虚拟机是如何在类中直接实例化的。这是因为Jetpack的生命周期感知ViewModel需要一个Provider类来实例化。所以,我实际上是在注入(inject)自定义提供程序,然后使用它来创建我的ViewModel。我看过其他示例,但它们看起来都非常令人困惑。我如何实现这一点?classActivityEpisodeList:AppCompatActivity(){@InjectlateinitvarvmFactory:ViewModelProvider.Facto
当我通过基于Roboelectric和JUnit的测试用例调用方法getSupportActionBar()时,它返回null。这是我的简单测试用例:packagecom.mobile.test;importstaticorg.hamcrest.CoreMatchers.equalTo;importstaticorg.junit.Assert.assertEquals;importstaticorg.junit.Assert.assertThat;importorg.junit.Test;importorg.junit.runner.RunWith;importorg.robolect
我需要模拟一些自定义类(为它创建一个影子)。我已经阅读了http://robolectric.org/custom-shadows/如何做到这一点。所以,我有一些课:publicclassMyClass{publicstaticintregularMethod(){return1;}}我创建了一个影子:@Implements(MyClass.class)publicclassMyShadowClass{@ImplementationpublicstaticintregularMethod(){return2;}}然后我在测试类中设置了阴影:@RunWith(RobolectricGra
我在我正在处理的android测试项目中设置了以下示例测试用例。packagecom.whatever.test;importstaticorg.junit.Assert.fail;importorg.junit.Test;importorg.junit.runner.RunWith;importcom.xtremelabs.robolectric.RobolectricTestRunner;@RunWith(RobolectricTestRunner.class)publicclassSomeClassTest{@TestpublicvoidtestFromJson(){fail("
我已经尝试了几天,没有结果。我需要在AndroidStudio(0.8.9,最新版本)中设置Robolectric。我遵循了不同的教程AndroidUnitandIntegrationtesting,RoboelectricinstallationforUnittesting,AndroidGradleappwithRoboelectric,HowtorunRoboelectricJUnittests但总是会出现某种错误。所以我创建了专门用于测试的模块:Kedzoh(项目)build.gradle://Top-levelbuildfilewhereyoucanaddconfigurat
自AndroidLollipop发布以来,在使用可用的新Appcompat支持库时,我无法运行Robolectic测试。我关注了:https://github.com/robolectric/deckard-gradlehttps://chris.banes.me/2014/10/17/appcompat-v21/我目前的进度可以在这里找到:https://github.com/fada21/android-tdd-bootstrap我的配置(蒸馏)是:android{compileSdkVersion21buildToolsVersion"21.0.1"defaultConfig{a