2017-07-12 2 views
0

Kann jemand mir helfen mitWie in bedingten Anweisungen zu Unit-Test Jasmin

innerhalb einer Funktion in Jasmin bedingte Anweisung testen
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}); 
      }; 

Ich bin ganz neu in Unit-Tests und im Anschluss an die Ausgabe in ich erhalte generierter Bericht

enter image description here

Antwort

0

Sie sehen es, weil es nicht in Unit-Tests Verwenden folgenden Code abgedeckt wird es in Unit-Tests zu decken

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); 
}) 
Verwandte Themen