angularjs比较导航后的绑定值

时间:2013-10-28 14:54:11

标签: angularjs integration-testing karma-runner

我遇到了一个无法使用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 €"} but was "4 353,90 €"

我所理解的是,它试图将承诺与文本价值进行比较,但是我无法解决这个问题......

非常感谢一些帮助;)

1 个答案:

答案 0 :(得分:0)

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

请查看文档,如果您仍然无法使测试工作,请告诉我。

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