我正在编写路由器并使用Karma进行TDD。我对Mocha / Chai / Sinon的设置和单元测试都很满意。我的问题是,使用Karma,我如何测试浏览器的位置路径是否已经改变?
在我的路由器中,我正在做:
window.history.pushState(route.params, route.title, route.path);
当不使用Karma时,这当然会改变浏览器中的位置。在我的单元测试中,我期待的是:
it('should map deps and execute on navigation', function() {
app
.route('/profile', 'profile')
.controller('profile', [function() {
expect(location.pathname).to.equal('/profile');
}])
.navigate('/profile');
});
但是location.pathname等同于Karma '/context.html'
如何断言使用Karma更改位置路径名?我应该模仿窗口吗?