私は以下のコントローラのメソッドがあります。Mocha/Jasmineを使用してコントローラーメソッドのif elseケースのカルマカバレッジを取得するにはどうすればよいですか?
function changeItem(itemList) {
vm.selectedItem = '';
if(itemList !== null || itemList !== '' && itemList !== undefined){
\t \t \t \t if (itemList.guestFirstName !== '' &&
\t \t \t \t \t itemList.guestFirstName !== undefined &&
\t \t \t \t \t itemList.guestFirstName !== null) {
\t \t \t \t \t vm.selectedItem += itemList.guestFirstName + ' ';
\t \t \t \t }
\t \t \t \t if (itemList.guestLastName !== '' &&
\t \t \t \t \t itemList.guestLastName !== undefined &&
\t \t \t \t \t itemList.guestLastName !== null) {
\t \t \t \t \t vm.selectedItem += itemList.guestLastName + ' ';
\t \t \t \t }
\t \t \t \t Iif (itemList.type !== '' &&
\t \t \t \t \t itemList.type !== undefined &&
\t \t \t \t \t itemList.type !== null) {
\t \t \t \t \t vm.selectedItem += itemList.type + '-';
\t \t \t \t }
\t \t \t \t if (itemList.id !== '' &&
\t \t \t \t \t itemList.id !== undefined &&
\t \t \t \t \t itemList.id !== null) {
\t \t \t \t \t vm.selectedItem += itemList.id + ' ';
\t \t \t \t \t if (itemList.id === "All") {
\t \t \t \t \t \t vm.selectedId.push(vm.itemLists.id);
\t \t \t \t \t }
\t \t \t \t \t else {
\t \t \t \t \t \t vm.selectedId = itemList.id;
\t \t \t \t \t }
\t \t \t \t }
\t \t \t }
}
}
spec.js:
t('listController - changeItem()', inject(function() {
var itemList = [
{
"id":111,
"guestfirstName":"Test",
"guestlastName":"Test",
"type":"BUSINESS"
},
{
"id":222,
"guestfirstName":"Test",
"guestlastName":"Test",
"type":"BUSINESS"
},
];
var selectedItem = "Test Test BUSINESS-111"
controller.changeItem(itemList);
scope.$apply();
expect(controller.selectedItem).to.equal(selectedItem);
expect(controller.selectedId).to.equal(itemList[0].id);
}));
をしかし、私はテストを実行すると、それが文を言います機能を除いてブランチはカバーされていません。
おかげ
詳しい説明や例を教えてください。申し訳ありません、私はここで新しい蜂です – Smitha