hamcrest相关内容
默认情况下,Hamcrest 所需的版本用于: JUnit 4.11 Hamcrest 1.3 Mockito-core 1.9.5 Hamcrest 1.1 Hamcrest 1.1 和 1.3 之间的 API 没有变化.目前我的测试用例尝试使用 Hamcrest 1.1 运行 JUnit 4.11,但我合理 确定这是一个坏主意.出于类似的原因,我怀疑尝试将 Mockito
..
我正在尝试寻找一种方法来使用 Mockito 测试我的实体; 这是简单的测试方法: @Mock私人 EntityManager em;@测试公共无效persistArticleWithValidArticleSetsArticleId(){文章文章 = 新文章();em.persist(文章);assertThat(article.getId(), is(not(0L)));} 如何最好
..
我遇到了 Mockito 和 Hamcrest 的泛型问题. 请假设如下界面: 公共接口服务{无效执行(集合元素);} 还有下面的测试片段: Service service = mock(Service.class);//... 执行业务逻辑验证(服务).perform(Matchers.argThat(包含(“a",“b"))); 所以我想验证我的业务逻辑是否真的使用包含“a"和“
..
这将是一个简单的问题,但如果我的类路径中包含两个库,我找不到它们之间的区别以及使用哪一个? 解决方案 Hamcrest 匹配器方法返回 Matcher 并且 Mockito 匹配器返回 T.因此,例如:org.hamcrest.Matchers.any(Integer.class) 返回 org.hamcrest.Matcher 的实例,以及 org.mockito.Matchers.an
..
我想知道是否有人知道使用 assertThat() 和 Matchers 来检查 List 是否为空的方法? 我认为最好的方法就是使用 JUnit: assertFalse(list.isEmpty()); 但我希望在 Hamcrest 有某种方法可以做到这一点. 解决方案 好吧 assertThat(list.isEmpty(), is(false)); ...但我猜这不是
..
我想比较两个双精度数组.使用 vanilla JUnit,我可以做到: double[] a = new double[]{1.0, 2.0, 3.0};双[] b = 新双[]{1.0, 2.0, 3.0};assertEquals(a, b, 1e-10); 我想知道如何使用 Hamcrest 做到这一点,最好不要创建自定义匹配器(如果可能).类似于对数组中的每个元素使用“关闭"匹配器.
..
我不明白 JUnit 4.8 应该如何与 Hamcrest 匹配器一起工作.junit-4.8.jar 在 org.hamcrest.CoreMatchers 中.同时,hamcrest-all-1.1.jar 在 org.hamcrest.Matchers 中.那么,去哪里呢?我是否应该在项目中明确包含 hamcrest JAR 并忽略 JUnit 提供的匹配器? 特别是,我对 empty
..
我可以使用以下代码检查列表是否包含大于 30 的项目. //使用Hamcrest列表ints= Arrays.asList(22,33,44,55);assertThat(ints,hasItem(greaterThan(30))); 但是我如何断言列表是否至少有 2 个大于 30 的项目? 使用 AssertJ,我知道有一个解决方案.但我不知道如何使用 Hamcrest 来实现这一点.
..
我正在尝试比较 2 个列表: assertThat(actual.getList(), is(Matchers.containsInAnyOrder(expectedList))); 但是想法 java:没有找到合适的方法 assertThat(java.util.List,org.hamcrest.Matcher>)方法 org.junit.Assert.assertThat(T,org.
..
我使用的是 JUnit-dep 4.10 和 Hamcrest 1.3.RC2. 我创建了一个如下所示的自定义匹配器: public static class MyMatcher extends TypeSafeMatcher{@覆盖受保护的布尔匹配安全(字符串 s){/* 执行 */}@覆盖public void describeTo(描述描述){/* 执行 */}@覆盖protecte
..
为什么这个编译不通过,哦,怎么办? import static org.junit.Assert.assertThat;导入静态 org.junit.matchers.JUnitMatchers.hasItems;ArrayList实际 = 新 ArrayList();ArrayList预期 = 新的 ArrayList();实际添加(1);预期添加(2);assertThat(actual,
..
在 eclipse 中运行 junit 测试时,我收到此 Exception: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing 我添加了 junit.jar 库文件. 我尝试了不同版本的 junit.jar:4.4、4.8 等 如何解决此异常? 解决方案 将 hamcrest-all-X.X.jar 添
..
我正在尝试从特定视图访问按钮.同一视图显示 6 次.这是我正在使用的代码. public void testTimeConfig(){onData(withDesc(“description")).onChildView(withId(R.id.positive)).perform(click());}私有静态匹配器withDesc(字符串desc){返回 allOf(is(instanceOf
..
我希望能够在 Android Studio 中进行单元测试和仪器测试,并在其中使用 Mockito. 我在 Android Studio 0.8 中使用新方法进行测试.这是: 使用 gradle 构建 使用官方 Android API 进行测试(ActivityInstrumentationTestCase2 等) 在应用程序目录中进行测试,而不是作为单独的模块 在 Androi
..
我不知道为什么会出现这个错误: 程序类型已经存在:org.hamcrest.CoreMatchers消息{kind=ERROR, text=程序类型已经存在:org.hamcrest.CoreMatchers,sources=[未知源文件],工具名称=Optional.of(D8)} 我在 build.gradle (Module: app) 的依赖范围内的代码是: 依赖项{实现文件树(目录
..
我目前使用以下代码对 boolean 值进行断言,但不推荐使用方法 org.hamcrest.Matchers.is(). assertThat(someValue, is(false)); 是否有一种简单的替代语法来测试布尔值,而无需求助于 assertTrue() 这会给您提供糟糕的失败消息,例如“java.lang.AssertionError" 在收到评论/回答后编辑 我最
..
我想在 TestNG 测试中使用 Hamcrest 匹配器,并专门使用软断言.我怎样才能做到这一点?我知道我可以在如下测试中使用 Hamcrest 的断言: assertThat(actual, containsInAnyOrder(expected)); 但我不明白如何使用 TestNG 软断言方法: SoftAssert softAssert = new SoftAssert(); 与
..
我不知道如何使用 hamcrest 创建代码来检查具有这些属性的数组内的数组. (想象一下,因为它有多个包含不同数据的条目) {"mobilenum": "+6519829340","firstname": "艾伦","lastname": "爱德华兹","location": "新加坡"} 如果我使用这个: .body("smsentries.mobilenum", contai
..
我有一个返回 JSON 的代码,其中一个字段可能为 null 或空数组. 我有这个代码要检查: import static org.hamcrest.core.AnyOf.anyOf;导入静态 org.hamcrest.CoreMatchers.nullValue;导入静态 org.hamcrest.Matchers.blankOrNullString;//io.restassured.r
..
作为我在 处理带有 hamcrest 和 rest 的数组的问题的后续问题放心 我怎样才能放心使用 hamcrest 以便我可以测试 {"mobilenum": "+6519829340","firstname": "艾伦","lastname": "爱德华兹","location": "新加坡"“出站":“是"“计数":15},{"mobilenum": "+6519829340","f
..