Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为AngularJs与jasmine的会话创建模拟会话_Angularjs_Unit Testing_Jasmine_Automated Tests - Fatal编程技术网

如何为AngularJs与jasmine的会话创建模拟会话

如何为AngularJs与jasmine的会话创建模拟会话,angularjs,unit-testing,jasmine,automated-tests,Angularjs,Unit Testing,Jasmine,Automated Tests,在AngularJs中,我必须使用jasmine测试一个过滤器。我已在控制器的会话中设置studentNameFormat。我有一个这样的过滤器: angular.module('course.filters').filter('studentName',['Session', function (Session) { return function (student) { var format = Session.getState().studentNameFo

在AngularJs中,我必须使用jasmine测试一个过滤器。我已在控制器的会话中设置studentNameFormat。我有一个这样的过滤器:

angular.module('course.filters').filter('studentName',['Session',
    function (Session) {
    return function (student) {
        var format = Session.getState().studentNameFormat;

        if(format == '0') {
            return   student.firstName + " " + student.lastName;
        }
       else{
            return student.lastName + student.firstName;
        }
    };
}]);
为了在Jasmine中测试一个方法,我需要将会话对象传递给该方法。如何创建模拟会话变量

I have test filter like:

describe('studentName', function () {

    'use strict';

        var $filter;
        var student;
        var session;
        beforeEach(function () {
            module('course.filters');

            inject(function (_$filter_, _Session_) {

                $filter = _$filter_;
                session = _Session_;

            });
            patient = {
                "firstName": "John",
                "lastName": "Doe"
            }

            session.setState({
               studentNameFormat: 1
            });

        });

        it('return full lastName full FirstName if given 1', function () {
            console.log(patient);
            var studentFilter = $filter('studentName');

            expect(studentFilter (student)).toEqual("Doe John");

        });
它给我错误sessionProvider未定义。
错误:[$injector:unpr]未知提供程序:SessionProvider是您注入到Angular组件中的会话服务吗?如果您可以包含一些测试代码或将其上载到JS Fiddle/Plnkr中,它实际上会有所帮助。会话是您注入到Angular组件中的服务吗?如果您可以包含一些测试代码或将其上载到JS Fiddle/Plnkr中,它实际上会有所帮助一把JS小提琴/Plnkr。