簡體   English   中英

我們可以使用 Cucumber 和 Java 語言將非英語字符串作為參數傳遞嗎?

[英]Can we pass non English strings as parameters using Cucumber with Java language?

我試圖使用 Cucumber 將非英語字符串作為參數傳遞以進行自動化測試。 使用的語言是Java。 但是,當這些字符串從功能文件傳遞到步驟定義時,諸如“é”之類的法語字符將打印為“?” . 有沒有辦法可以將非英文字符作為參數傳遞?

我正在嘗試傳遞字符串“裝飾壁畫”。 但是當這在 Step Definitions 中打印時,'é' 打印為 '?' 請參閱隨附的屏幕截圖。

 @tag Feature: String Verifcations @PassNonEnglishCharacters Scenario Outline: Verify non English parameters Given I have my driver ready Then I print collection "<collection>" name on console Examples: | collection | | Décoration murale |

 @Then("^I print collection \"([^\"]*)\" name on console$") public void i_print_collection_name_on_console(String collection) throws Throwable { System.out.println("Collection:" +collection); }

控制台上的結果:

 **Collection:D?coration murale**

截屏

據我所知,Cucumber 和 Java 正在使用 Unicode,它應該支持您提到的法語字符。 也許此步驟定義正在調用的代碼中存在問題,或者您正在打印此結果的環境存在問題? 也許在某處使用了 char ?

這取決於文件的編碼。 這應該是 UTF-8,但如果您使用的是記事本之類的東西,您最終可能會使用不同的編碼,例如ISO-8859-1

您可以使用# encoding:注釋告訴 Cucumber 您的文件不是 UTF-8 編碼的。

# language: fr
# encoding: ISO-8859-1
Fonctionnalité: Concombres dans ISO-8859-1

  Scénario: dans la ventre
    Étant donné j'ai 5 concombres

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM