簡體   English   中英

Javascript單元測試依賴項-當依賴對象發生更改時如何使測試失敗

[英]Javascript Unit testing dependencies - How to make a test fail when a depended object changes

我有一個依賴於模型屬性的控制器。 我編寫了一個測試此控制器並存根模型的測試,每當模型屬性名稱更改時,如何使我的控制器測試失敗?

這是一個例子:

模型:

function Model(obj){
  this.id = obj.id; 
  this.name = obj.name;
}

控制器:

function Controller( model ){
  this.model = model
};
Controller.prototype.showName = function() { 
  return this.model.name; 
}

控制器測試:

describe("A controller", function(){

  var controller = new Controller( new Model({id:1, name: "john"}) );

  it ("should show the person name", function(){
    expect(controller.showName).toEqual("john");
  });

});

每當“名稱”屬性更改為其他名稱(例如“ name2”)時,我都希望該測試失敗。

任何人都對如何使用javascript提出了很好的建議?

謝謝翟

由於模型是公開的,因此您可以檢查屬性的存在。

expect(controller.name).toBeDefined();

另一方面,如果重命名了模型的屬性並且控制器也不會被更改,則該測試仍然會失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM