[英]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.