草庐IT

Hamcrest

全部标签

java - 断言列表不为空——有或没有 Hamcrest?

这与CheckingthataListisnotemptyinHamcrest有关我有一个问题-如果我们可以在不使用Hamcrest和仅使用JUnit的情况下断言列表不为空:assertFalse(list.isEmpty());正在使用assertThat(list.isEmpty(),is(false));或assertThat((Collection)list,is(not(empty())));值得吗?我无法理解在这种情况下我们使用Hamcrest版本是否有所收获?两者是等价的吗? 最佳答案 它们具有相同的功能。hamcre

java - IDEA、Hamcrest 和静态导入

我的maven项目包括186187org.hamcrest188hamcrest-all1891.3190当我输入assertThat..我想让IDEA弄清楚需要以下内容importstaticorg.hamcrest.MatcherAssert.assertThat;相反,我明白了。如何纠正?如何让IDEA执行静态导入? 最佳答案 打开括号,你会得到静态导入方法的提示。在添加括号之前,IntelliJ不会理解这是您尝试引用的方法。换句话说,输入assertThat(然后输入ALT-ENTER。

android - Espresso 测试 ImageView 包含可绘制对象

我已经实现了来自hismediumpost的DanieleBottilo的Drawable匹配器.现在我想用它来测试我的ImageView是否为空。我试过这个:onView(withId(R.id.image)).check(matches(not(noDrawable())));它不工作,IDE警告我not(...guava.base.Predicate)inPredicatescannotbeappliedto(org.hamcrest.Matcher)我是Espresso的新手,还没有成功通过谷歌搜索到答案。我应该使用的另一个包中是否有“Not”,或者我在这里做错了什么?

Android Gradle 单元测试从 JAR 迁移 - 从 junit 和 mockito 复制 hamcrest 文件

我终于将使用JAR文件运行的旧单元测试迁移到使用gradle,但我在获得正确的组合时遇到了很多麻烦,并且不确定我在做什么是对还是错。首先,这些是我正在使用的所有jar文件。dexmaker-1.0.jardexmaker-mockito-1.0.jarfest-android-1.0.7.jarfest-assert-core-2.0M10.jarfest-util-1.2.5.jarjunit-4.11.jarmockito-all-1.9.5.jarthe-missing-android-xml-junit-test-runner-release-1.3_2.jar当我像下面这样的

android - Espresso 检查 View 要么 doesNotExist 要么 not isDisplayed

以下语句不起作用,因为doesNotExist()返回ViewAssertion而不是匹配器。没有try-catch有什么办法让它工作吗?.check(either(matches(doesNotExist())).or(matches(not(isDisplayed())))); 最佳答案 如果要检查层次结构中是否不存在View,请使用以下断言。ViewInteraction.check(doesNotExist());如果要检查View是否存在于层次结构中但未显示给用户,请使用以下断言。ViewInteraction.check

android - 程序类型已经存在 : org. hamcrest.CoreMatchers

当我构建我的应用程序时,出现跟随错误。Programtypealreadypresent:org.hamcrest.CoreMatchersMessage{kind=ERROR,text=Programtypealreadypresent:org.hamcrest.CoreMatchers,sources=[Unknownsourcefile],toolname=Optional.of(D8)}我用谷歌搜索了我的问题并且喜欢类似的问题here,但无法得到正确的答案。这是我的build.gradle文件applyplugin:'com.android.application'androi

android - 使用 Espresso 我如何检查警报对话框中的项目数

我有一个显示多个项目的警告对话框。privateString[]choices;//populatedexternallyAlertDialog.Builderbuilder=newAlertDialog.Builder(getActivity());builder.setItems(choices,newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){_callback.onChoiceSelected(which);dialog.dismiss(

android - Gradle 的冲突解决不适用于 Android 项目?

我正在尝试编译一个模块,其依赖树看起来像+---com.squareup.burst:burst-junit4:1.0.2|+---com.squareup.burst:burst:1.0.2|\---junit:junit:4.11->4.12|\---org.hamcrest:hamcrest-core:1.3+---com.android.support.test.espresso:espresso-core:2.0|+---com.squareup:javawriter:2.1.1|+---org.hamcrest:hamcrest-integration:1.1||\---o

android - 如何在 Android Studio 的单元测试中使用 Mockito/Hamcrest

我希望能够在AndroidStudio中进行单元测试和仪器测试,并在其中使用Mockito。我在AndroidStudio0.8中使用新的测试方法。这是:用gradle构建使用官方AndroidAPI进行测试(ActivityInstrumentationTestCase2等)将测试放在应用程序的目录中,而不是作为一个单独的模块在AndroidStudio中启动测试作为“Android测试”运行配置如何在测试中编写依赖于仅用于测试的库(例如mockito或hamcrest)的代码?我想在编译和运行测试时包含这些库,但要避免将它们导出到已发布的.apk。在https://code.goo

android - onChildView 和 hasSiblings 与 Espresso

我正在尝试从特定View访问按钮。同一View显示6次。这是我正在使用的代码。publicvoidtestTimeConfig(){onData(withDesc("description")).onChildView(withId(R.id.positive)).perform(click());}privatestaticMatcherwithDesc(Stringdesc){returnallOf(is(instanceOf(String.class)),is(desc));}当我运行时,出现错误:Errorperforming'loadadapterdata'onview'is