解决Git Bash和Maven运行Cucumber的中文乱码问题
前言
Cucumber的Gherkin语法解析器支持中文,但是在Git Bash和Maven中运行Cucumber时会遇到中文乱码问题。
Cucumber是黄瓜的意思,而Gherkin是腌小黄瓜的意思。 ????
本文描述了如何解决这两种情况的中文乱码问题。
Cucumber命令行示例
将cucumber克隆到本地。
在PATH
系统变量中添加cucumber\bin
的绝对路径。
在Git Bash中就可以直接使用cucumber
命令了。
比如运行cucumber --i18n zh-CN
来查看Cucumber Gherkin语法对中文的支持。
解决Git Bash运行Cucumber的中文乱码问题
- 打开Git Bash,右键选择Options
- 选择Text,在Locale中输入
zh_CN
,在Character set中选择UTF-8
- 点击Save
- 关闭Git Bash,然后重新打开Git Bash
- 在启动Cucumber的java命令中传入
-Dfile.encoding=UTF-8
,比如:
"${JAVA_HOME}/bin/java" -Dfile.encoding=UTF-8 -cp "$CLASSPATH" cucumber.api.cli.Main "[email protected]"
例子:运行cucumber --i18n zh-CN
来查看Cucumber Gherkin语法对中文的支持。
解决Maven中运行Cucumber的中文乱码问题
- 在Pom.xml中的
properties
中增加<argLine>-Dfile.encoding=UTF-8</argLine>
<properties>
<argLine>-Dfile.encoding=UTF-8</argLine>
</properties>
- 运行
mvn test
。
例子:运行中文文件名和用中文Gherkin语法的.feature
示例代码
Cucumber的示例代码参见cucumber-java-skeleton