如何断言显示为字符串的货币值已正确更新

Posted

技术标签:

【中文标题】如何断言显示为字符串的货币值已正确更新【英文标题】:How to assert that currency value displayed as string has been correctly updated 【发布时间】:2017-06-01 14:32:38 【问题描述】:

在更改值之前和之后,我的自动化测试中返回了字符串值(之前 =“650 英镑的 0 英镑”,之后 =“650 英镑的 0.95 英镑”)。我进行的测试向帐户付款,然后返回检查值是否已正确修改。

如何检查字符串的值是否增加了 0.95?

【问题讨论】:

【参考方案1】:

我会使用正则表达式模式来匹配您的字符串的值,例如

var match = Regex.Match(input, @"£([0-9\.]+) of £([0-9\.]+)"); // pseudo code

然后对之前和之后执行此操作,提取匹配项,解析为十进制然后比较...

【讨论】:

谢谢安德烈亚斯,但我只想验证第一个货币价值是否已更新,所以最终得到了下面的答案【参考方案2】:
int originalIndex = currentValue.IndexOf(" ");
int newIndex = newValue.IndexOf(" ");

currentValue = currentValue.Substring(0, originalIndex);
newValue = newValue.Substring(0, newIndex);

double origCash = double.Parse(currentValue, NumberStyles.Currency);
double newCash = double.Parse(newValue, NumberStyles.Currency);
Assert.IsTrue(newCash == origCash+valueAdded);

【讨论】:

以上是关于如何断言显示为字符串的货币值已正确更新的主要内容,如果未能解决你的问题,请参考以下文章

jmeter察看结果树结果,为啥响应断言为true时,也是红色的?

如何将货币字符串值设置为 UITextField,保留编码?

将货币字符串转换为十进制?

文本字段值已更新并保存,但当再次加载表单并单击按钮时,字段会重置为默认值

UITextfield 值已成功更新,但未显示在表格中

将货币字符串转换为数字 Drupal Views / PHP