亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

員工模型的自定義方法 -backbone.js 一個測試用例失敗

員工模型的自定義方法 -backbone.js 一個測試用例失敗

一只斗牛犬 2023-07-14 10:22:27
面臨 getExperience 方法的問題。不知道為什么我會得到這個,有人可以幫助我嗎?錯誤:在員工模型中測試自定義方法 測試員工模型的 getExperience 方法 在執行 getExperience 方法后檢查員工模型中的體驗失敗 預期 0 為 21。<!-- Test Case-->  it('Checking experience in Employee Model after getExperience method execution', function() {            var current_date = new Date();            var current_year= current_date.getFullYear();            var calculated_exp= current_year-1999;              employee.getExperience(employee.get('year_of_joining'));              expect(employee.get('experience')).toBe(calculated_exp);          });var Employee = Backbone.Model.extend({ //Write your code here getExperience: function(experience) {       var year_of_joining=employee.get('year_of_joining');        var current_date = new Date();            var current_year= current_date.getFullYear();            var calculated_exp= (current_year)-(year_of_joining);            return calculated_exp;    }});var   employee = new Employee({        employee_id:1111,        name:'Sarah Roe',        year_of_joining:1999,       address:'ABC Street',        experience:0    });    alert("Experience of "+employee.get("name")+" is "+employee.getExperience(employee.get('year_of_joining'))+" years");; <!-- Hmtl --><html>    <head>    </head>    <body>    <div id="app"></div<script src="lib/jquery/dist/jquery.js"></script><script src="lib/underscore/underscore.js"></script><script src="lib/backbone/backbone.js"></script>  <script  type = "text/javascript"  src="index.js"></script></html> 
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script>

<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>


<script>

// JS with example of setting experience value being set third Example

// JavaScript

var Employee = Backbone.Model.extend({

  //Write your code here


  default: {

    employee_id: 1111,

    name: 'Sarah Roe',

    year_of_joining: 1999,

    address: 'ABC Street',

    experience: null

  },

  getExperience: function(year_of_joining) {

    var current_date = new Date();

    var current_year = current_date.getFullYear();

    var calculated_exp = (current_year) - (year_of_joining);


    this.set({

      experience: calculated_exp

    });

    return calculated_exp;

  }


});



var employee = new Employee({

  employee_id: 721,

  name: "Shrikrishna",

  year_of_joining: 1999,

  experience: 22

});

//please add properties and values of Employee model

//employee.set({'experience': employee.get('year_of_joining')}) ;

alert("Experience of " + employee.get("name") + " is " + employee.getExperience(employee.get('year_of_joining')) + " years");

</script>

<div id="container">Loading...</div>


查看完整回答
反對 回復 2023-07-14
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

這是backbonejs中員工模型自定義方法的正確答案:


var Employee = Backbone.Model.extend({

  //Write your code here

 

  getExperience: function(year_of_joining) {

    var current_date = new Date();

    var current_year = current_date.getFullYear();

    var calculated_exp = (current_year) - (year_of_joining);


    this.set({

      experience: calculated_exp

    });

    return calculated_exp;

  }


});



var employee = new Employee({

      employee_id:1111,

        name:'Sarah Roe',

        year_of_joining:1999,

        address:'ABC Street',

        experience:0,   

});

 

alert("Experience of "+employee.get("name")+" is "+employee.getExperience(employee.get('year_of_joining'))+" years");

 

  <!-- Hmtl -->

<html>    

<head>    

</head>    

<body>    

<div id="app"></div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.4/underscore-min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.4.1/backbone-min.js"></script>  

<script  type = "text/javascript"  src="index.js"></script>


</html> 


查看完整回答
反對 回復 2023-07-14
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

experience您從未為模型的屬性設置新值。為了讓您的測試通過,您應該使用: expect(employee.getExperience()).toBe(calculated_exp);

請注意, getExperience 函數永遠不會使用 experience 參數。

或者替換:

employee.getExperience(employee.get('year_of_joining'));

和:

employee.set('experience', employee.getExperience());


查看完整回答
反對 回復 2023-07-14
  • 3 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號