Angular 货币:预期“€ 3,14”等于“€ 3,14”。为什么这些不平等?

Angular currency: Expected '€ 3,14' to equal '€ 3,14'. Why are these unequal?

我为一个使用 angular 的货币过滤器的 angular 过滤器编写了单元测试,尽管它所比较的​​实际字符串是相同的,但不知何故所有单元测试都失败了.

可能是什么原因造成的?

另一个过滤器做的事情非常相似但没有使用 angular 的货币过滤器工作正常。货币过滤器是否在字符串中放置了一些肉眼无法检测到的奇怪符号?我该如何解决这个问题?

AngularJS 在金额和货币之间使用不间断的 space(至少在您的语言环境中)。将您的代码替换为

expect(formattedValue).toBe('€\u00a03,14');