# Hamcrest **Repository Path**: cbd_work/Hamcrest ## Basic Information - **Project Name**: Hamcrest - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 13 - **Created**: 2022-04-28 - **Last Updated**: 2024-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hamcrest ## 简介 > hamcrest是匹配器库,可以组合起来匹配。 ![operation.png](screenshots/operation.png) ## 下载安装 ```shell npm install @ohos/hamcrest --save ``` OpenHarmony npm环境配置等更多内容,请参考 [如何安装OpenHarmony npm包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md) 。 ## 使用说明 1. 引入文件及代码依赖 ``` import {AllOf} from '@ohos/hamcrest' ``` 2. 构建匹配器 ``` let matcher = AllOf.allOfMatches(StringContains.containsString('expected'), StringContains.containsString('value')) ``` 3. 调用匹配器匹配 ``` allOf() { let matcher = AllOf.allOfMatches(StringContains.containsString('expected'), StringContains.containsString('value')) console.info("allOf: " + matcher.matches('expected value')) console.info("allOf: " + matcher.matches('value expected')) console.info("allOf: " + matcher.matches('expected valu')) } ``` ## 接口说明 1. 匹配所有`AllOf.allOf()` 2. 匹配某一个`AnyOf.AnyOf()` 3. 匹配每一个`Every.everyItem()` 4. 匹配任意`IsAnything.anything()` 5. 匹配不是`IsNot.not()` 6. 匹配null`IsNull.nullValue()` 7. 匹配包含字符串`StringContains.containsString()` 8. 匹配以字符串结尾`StringEndsWith.endsWith()` 9. 匹配以字符串开头`StringStartsWith.startsWith()` 10. 匹配空字符串`IsEmptyString.emptyString()` ## 兼容性 支持 OpenHarmony API version 8 及以上版本。 ## 目录结构 ```` |---- hamcrest | |---- entry # 示例代码文件夹 | |---- hamcrest # hamcrest库文件夹 | |---- index.ets # 对外接口 | |---- src | |---- main | |---- components | |---- core # 核心文件夹 | |---- Every.ets # 匹配每一个 | |---- AllOf.ets # 匹配所有 | |---- IsAnything.ets # 匹配任意 | |---- StringContains.ets # 匹配包含字符串 | |---- README.md # 安装使用方法 ```` ## 贡献代码 使用过程中发现任何问题都可以提 [Issue](https://gitee.com/hihopeorg/Hamcrest/issues) 给我们,当然,我们也非常欢迎你给我们发 [PR](https://gitee.com/hihopeorg/Hamcrest/pulls) 。 ## 开源协议 本项目基于 [BSD License](https://gitee.com/hihopeorg/Hamcrest/blob/master/LICENSE) ,请自由地享受和参与开源。