我遇到了一个无法使用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 €"
我所理解的是,它试图将承诺与文本价值进行比较,但是我无法解决这个问题......
非常感谢一些帮助;)
答案 0 :(得分:0)
答案取决于您实际尝试测试的内容。您是否试图断言VIEW中显示的文本是某个值还是您试图断言MODEL保持不变?如果您感兴趣的是VIEW,那么您走在正确的轨道上。我的建议是使用Protractor而不是Karma。
请查看文档,如果您仍然无法使测试工作,请告诉我。
另一方面,如果它是您感兴趣的MODEL,事情会变得有点复杂。您将无法使用标准单元测试来模拟浏览器导航。您必须创建一个模拟服务,让您模拟路由提供程序或使用第三方库,如ngMidwayTester。看看here以获得更多帮助。