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");
});
});
我希望这个测试在"name"属性更改为其他内容时失败,比如"name2"。
有人对如何在javascript中做到这一点有很好的建议吗?
谢谢,Shai
由于模型是公开的,您可以检查属性的存在。
expect(controller.name).toBeDefined();
另一方面,如果模型的属性被重命名,并且控制器也不会被更改,那么这个测试无论如何都会失败。
相关文章:
- 单元测试依赖关系没有被嘲笑
- 如何在jasmine测试中为有角度的项目注入依赖项
- 在 Angular JS 业力测试中管理依赖关系
- 编写Karma+Mocha测试,同时使用依赖注入和“完成”
- 测试依赖于另一个指令Angularjs的指令
- Javascript单元测试依赖关系-当依赖对象发生变化时,如何使测试失败
- 如何在 mocha 中使用嵌套测试执行使测试依赖
- 在单元测试时模拟 ES6 依赖项
- 具有相同依赖关系的多个角度模块,用于业力测试
- 如何将实际的依赖项加载到带有Jasmine和Karma的Angularjs测试中
- 依赖于 AngularJS 中表单验证的单元测试控制器
- 单元测试依赖于服务的角度过滤器
- 带有外部依赖项的Jasmine单元测试指令失败,类型错误:'[object对象]'
- 如何在Mithril中对具有视图模型依赖关系的视图进行单元测试
- 如何在Jasmine中对依赖服务的函数进行单元测试
- 如何使用squire模拟内联requirejs依赖关系以进行单元测试
- node.js单元测试mock依赖关系
- JavaScript单元测试:Karma、jasmine和bootstrap测试的依赖项
- Java web应用程序的项目结构,javascript提供依赖管理、单元测试、ci以及对maven和eclipse的支
- 测试需要监视依赖的AngularJS服务