如何在控制器中测试将值传递给服务setter的setter函数
How to test a setter function in controller which passes a value to service setter
我有我的HTML,其中包含一个模态窗口,其中是一个ng-repeat
<strong>Data Type:</strong><select ng-options="dataTypes for dataTypes in dataTypeItems"
ng-model="dataTypes"
ng-change="setDataType(dataTypes)">
<option value="">Select Option</option>
</select>
我的HTML与我的mainCtrl
通信,特别是setDataType(dataType)
方法:
$scope.setDataType = function (dataT) {
getDataService.setDataType(dataT);
};
这反过来又将字符串值dataType
触发到我的服务中的资源库 (getDataService
):
setDataType: function (dataT) {
dataType = dataT;
},
我只是对如何测试这一点感到非常困惑。 如何在控制器中测试函数,该函数仅调用服务中的函数? 如何在不检查我的服务以查看值是否已更改的情况下对此进行测试? 做我测试吸气手和二传手?
因此,
您将分别执行这两个测试。控制器中的测试应该只测试它是否调用了正确的方法:
it('.setDataType should call getDataService.setDataType with the correct parameter', inject(function (getDataService) {
spyOn(getDataService, 'setDataType');
$scope.setDataType('myDataType');
expect(getDataService.setDataType).toHaveBeenCalledWith('myDataType');
}));
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- 监视函数从服务返回不起作用,但作用域函数起作用
- 通过Magento的网络服务检索运费
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- "实例范围”;TypeScript类的getter/setter
- 使用angular.js问题的JavaSpringREST服务
- AngularJS-需要在index.html页面中访问来自服务的数据
- 如何在Ionic2测试版中包含Ionic.io服务
- 基于api密钥的NodeJS web服务
- Redux应用程序结构-在哪里放置服务/业务逻辑
- Liferay:从portlet调用JSON服务
- 使用javascript在客户端上使用Web服务
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 从Javascript连接到SOAP Web服务
- 如何检测服务广告维度
- 很少有角服务,只有常数不同
- 如何在服务、技能、投资组合等方面添加滑动效果
- 尝试将服务链接到控制器时出现角度问题
- Sails.js:我可以将一些服务/模型打包为npm并在Sails.jss应用程序中加载npm吗
- 如何在控制器中测试将值传递给服务setter的setter函数