Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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_Karma Jasmine - Fatal编程技术网

Angularjs 如何在jasmine中对条件语句进行单元测试

Angularjs 如何在jasmine中对条件语句进行单元测试,angularjs,unit-testing,jasmine,karma-jasmine,Angularjs,Unit Testing,Jasmine,Karma Jasmine,有人能帮我在jasmine中测试函数中的条件语句吗 vm.onDisciplineCodeChange = function() { if ('other' === vm.selectedDisciplineCode) { vm.selectedDiscipline.code = null; vm.selectedDiscipline.userDefined = true;

有人能帮我在jasmine中测试函数中的条件语句吗

vm.onDisciplineCodeChange = function() {
                if ('other' === vm.selectedDisciplineCode) {
                    vm.selectedDiscipline.code = null;
                    vm.selectedDiscipline.userDefined = true;
                } else if('' === vm.selectedDisciplineCode) {
                    vm.selectedDiscipline = {
                        code: null,
                        userDefined: false,
                        userDefinedDiscipline: null
                    }
                } else {
                    vm.selectedDiscipline = {
                        code: vm.selectedDisciplineCode,
                        userDefined: false,
                        userDefinedDiscipline: null
                    }
                }
                vm.onDisciplineUpdated({discipline: vm.selectedDiscipline});
            };
我对单元测试非常陌生,下面是我在生成的报告中得到的输出


您之所以看到它,是因为单元测试中没有涉及它 使用以下代码在单元测试中介绍它

it('if discipline is other', function() {
  // spy on
  spyOn(vm, 'onDisciplineUpdated');

  vm.selectedDisciplineCode = 'other';
  vm.onDisciplineCodeChange();
  expect(vm.selectedDiscipline.code).toBe(null);
  expect(vm.selectedDiscipline.userDefined).toBe(true);
  expect(vm.onDisciplineUpdated).toBeCalledWith({
    discipline: vm.selectedDiscipline
  });
})

it('if discipline is null', function() {
  vm.selectedDisciplineCode = '';
  vm.onDisciplineCodeChange();
  var result = {
    code: null,
    userDefined: false,
    userDefinedDiscipline: null
  };
  expect(vm.selectedDiscipline).toBe(result);
})


it('if discipline is different', function() {
  vm.selectedDisciplineCode = 'nothing';
  vm.onDisciplineCodeChange();
  var result = {
    code: vm.selectedDisciplineCode,
    userDefined: false,
    userDefinedDiscipline: null
  };
  expect(vm.selectedDiscipline).toBe(result);
})