1

我遇到了一个无法通过 angularjs 在线帮助解决的问题。

我正在编写 angularjs/karma 场景测试,我想验证显示钱包金额的视图的一部分在页面导航后是否仍然存在。钱包金额来自绑定值。

查看代码:

<div class="label">Mon Compte<br>{{ User.getBalance() | currency }}</div>

场景代码:

var b1 = binding('User.getBalance() | currency');
browser().navigateTo('/another-route');
var b2 = binding('User.getBalance() | currency');
expect(b1).toEqual(b2);

失败的场景结果:

expected {"name":"select binding 'User.getBalance() | currency'","fulfilled":true,"value":"4 353,90 €&quot;} but was "4 353,90 €&quot;

我的理解是它试图将承诺与无效的文本值进行比较,但我不知道如何解决这个问题。

4

1 回答 1

0

答案取决于您实际尝试测试的内容。您是要断言 VIEW 中显示的文本是某个值,还是要断言 MODEL 保持不变?如果它是您感兴趣的 VIEW,那么您就在正确的轨道上。我的建议是使用量角器而不是业力。

查看文档,如果您仍然无法进行测试,请告诉我。

另一方面,如果是你感兴趣的模型,事情就会变得有点复杂。您将无法使用标准单元测试来模拟浏览器导航。您必须要么创建一个模拟服务,让您模拟路由提供者,要么使用第三方库,如 ngMidwayTester。看看这里以获得更多帮助。

于 2013-12-12T21:09:40.387 回答