我需要测试一个$routeParams用于定义动作的Controller .也许这是一个测试问题,或者我编写控制器的方式是错误的,所以现在我无法编写测试.
这是我的控制器
angular.module('cmmApp')
.controller('UserCtrl', function ($scope, $location, $routeParams, $ionicLoading, $ionicPopup, Userservice) {
//if a user id is set retrieve user information
if(typeof $routeParams.id !== 'undefined'){
var loader = $ionicLoading.show({content: "Retrieving user data"});
var user = Userservice.get({id: $routeParams.id}).$promise;
user.then(function(res){
console.log(res);
$scope.user = res.user;
loader.hide();
});
}
//else create an empty resource
else {
$scope.user = new Userservice;
}
});
Run Code Online (Sandbox Code Playgroud)
基本上我只想在提供id的情况下加载资源$routeParams,否则创建一个空资源.
以下是测试:
'use strict';
describe('Controller: UserCtrl', function () {
// load the controller's module
beforeEach(module('cmmApp'));
var UserCtrl, …Run Code Online (Sandbox Code Playgroud) 我正在使用Protractor(使用Jasmine)来测试我的AngulaJs应用程序.
由于我的一些操作,我得到了一些保存在localStorage中的数据.现在我需要测试其他情况,所以我需要清空我的存储空间(或者更好地删除一些项目)但是如果我尝试运行:
browser.executeScript('localStorage.removeItem("config");');
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
UnknownError: <unknown>: Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.
(Session info: chrome=35.0.1916.153)
(Driver info: chromedriver=2.10.267517,platform=Mac OS X 10.9.2 x86_64)
Run Code Online (Sandbox Code Playgroud)
关于如何解决的任何想法?
提前致谢
我有这两个对象数组
var client = [{
"creazione": "1970-01-01",
"value": 2
}, {
"creazione": "2014-03-12",
"value": 4
}, {
"creazione": "2014-03-14",
"value": 1
}],
order = [{
"creazione": "1970-01-01",
"value": 1
}, {
"creazione": "2014-03-13",
"value": 5
}, {
"creazione": "2014-03-14",
"value": 1
}];
Run Code Online (Sandbox Code Playgroud)
我需要合并这两个数组来得到类似的东西:
[{
x: '1970-01-01',
y: [2, 1]
}, {
x: '2014-03-12',
y: [4, 0]
}, {
x: '2014-03-14',
y: [1, 1]
}, {
x: '2014-03-13',
y: [0, 5]
}]
Run Code Online (Sandbox Code Playgroud)
简单来说,我需要检查是否a.creazione == b.creazione合并了键并将数值连接到数组(结果的第一行),否则如果它不同,则在数组的正确位置分配现有数组的值y(第三行结果).
PS:我需要得到这个结构,因为我正在使用Angular-Charts …
我将Mailchimp订阅插件用于wordpress(1.2.13版)。没关系,我只需要添加一个复选框即可接受隐私条款。我通过Mailchimp表单管理创建了该字段,除了需要根据需要定义它外,它可以在表单中显示和工作。在mailchimp中没有用于此的选项,我试图在html中添加一个简单的“ required”属性,但是没有起作用(按预期)。
有什么建议吗?
我还发现Mailchimp定义了在$var['req']与该字段名称相关联的数组/位置中是否需要该字段。但是我找不到在哪里可以访问此数组或如何向其中添加自定义字段。
我有一个模型Aziende,它与称为Annunci的花药模型相关(1:N),如下所示:
'annunci' => array(self::HAS_MANY,'Annunci','azienda_id'),
Run Code Online (Sandbox Code Playgroud)
我想算一下有多少记录确实有这种关系,在mySql中我会做:
SELECT count( * )
FROM `aziende` a
JOIN annunci an ON an.azienda_id = a.id
Run Code Online (Sandbox Code Playgroud)
我怎么能用Yii AR模型做到这一点?
PS:我试图找出条件查询,但我找不到自己的方式.
我正在尝试(未成功)对其余服务进行身份验证。
我正在尝试使用该库来创建此处列出的所有参数,并以这种方式创建请求:
$scope.oauth = new OAuth({
consumer: {
public: 'ck_d34c32d9c7f6fc1ddb6e85879fc4de89',
secret: 'cs_1867e5e54ce054dde7cf463ad78ee6f9'
},
signature_method: 'HMAC-SHA1'
});
var request_data = {
url: 'http://belfiore.link-me.it/wc-api/v1/orders',
method: 'GET',
}
$scope.data = $scope.oauth.authorize(request_data);
$scope.url = rawurlencode(request_data.url) + "&" +
"oauth_consumer_key"+"%3D"+rawurlencode($scope.data.oauth_consumer_key)+
"%26"+"oauth_nonce"+"%3D"+rawurlencode($scope.data.oauth_nonce)+
"%26"+"oauth_signature_method"+"%3D"+rawurlencode($scope.data.oauth_signature_method)+
"%26"+"oauth_timestamp"+"%3D"+rawurlencode($scope.data.oauth_timestamp)+
"%26"+"oauth_signature"+"%3D"+rawurlencode($scope.data.oauth_signature);
var call = $http.get($scope.url);
call.success(function(res) {
console.log(res);
});
call.error(function(res) {
console.log(res);
});
Run Code Online (Sandbox Code Playgroud)
但我不断得到这个答案:
"Cannot GET /http%3A%2F%2Fbelfiore.link-me.it%2Fwc-api%2Fv1%2Forders&oauth_consumer_key%3Dck_d34c32d9c7f6fc1ddb6e85879fc4de89%26oauth_nonce%3DwkeLtFTh6WAuxDQGqnpzxAWYOQiHnHSr%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D10%26oauth_signature%3DjFhPbKHnvMEvYf20w1vN3TAV5Ds%3D"
有什么帮助吗?我用Google搜索找到了OAuth1的一些教程或角度就绪的库,但我什么也没发现。
提前致谢
我是Django的新手,目前正在从事使用Django-rest-framework的项目,并使用Swagger通过django-rest-swagger包创建了文档。
我正在尝试查找(或生成)swagger.json定义文件,对此包可以在哪里找到任何想法?我想用它来生成客户端代码。
谢谢
我正在尝试使用Yeoman和角度生成器来启动一个新的应用程序.
我运行此命令(根据文档)启动一个新的应用程序:
yo angular my-app-name
如果我运行,所有依赖项都已下载
grunt serve
我的基本应用程序显示在浏览器中,一切看起来都很好.我尝试运行时问题开始:
grunt test
我收到一个错误: Warning: Task "karma" not found. Use --force to continue.
所以我添加了这些行:
"grunt-karma": "*",
"generator-karma": "*"
Run Code Online (Sandbox Code Playgroud)
在我的packeage.json文件中,删除该node_modules文件夹并运行`npm install.我急于解决这个问题,但现在我得到了错误:
loading "grunt-karma.js" tasks...ERROR
>> Error: Cannot find module 'socket.io-client'
Warning: Task "karma" not found. Use --force to continue.
Aborted due to warnings.
Run Code Online (Sandbox Code Playgroud)
我试过谷歌一点但我找不到任何关于.我正在运行MacOsX 10.8.5和节点v0.10.0.有什么建议吗?
提前致谢
假设我有这样的代码:
var cfg = {
config: {
fields: {
name: {
type: 'text'
},
age: {
type: 'number'
}
},
actions: [
{
label: 'Print',
cb: (model) => {
console.log(model);
}
}
]
},
data: {name: 'Jhon', age: 23}
}
Run Code Online (Sandbox Code Playgroud)
我想将其转换为字符串(以让用户编辑它),然后将其转换回可执行代码,知道如何实现这一点吗?
我尝试使用JSON.stringifyandJSON.parse但这当然会剥夺这些功能。.toStringreturns "[object Object]",迭代对象并.toString在值是字符串、函数或数字时进行调用,还有其他想法吗?
在要测试的代码顶部,我有一个类似的导入:
from resources import RESOURCES
Run Code Online (Sandbox Code Playgroud)
RESOURCES值字典在哪里。
如何在测试中模拟它?
我想要的是,无论真实模块中的内容是什么,都返回一个众所周知的字典。
例如,在一项测试中,我希望RESOURCES成为:
{
'foo': 'bar'
}
Run Code Online (Sandbox Code Playgroud)
而在另一个测试中,我希望它是:
{
'something': 'else'
}
Run Code Online (Sandbox Code Playgroud) 我有一个基于Docker和orchestrated的组件的项目docker-compose.其中一些是可选的,可以在运行时添加.
我可以考虑两种方法来实现这一目标:
serviceA.yml撰写文件并将其作为单独的项目运行serviceA到我的基地compose.yml并再次运行它这样做的首选方法是什么?
我也看到你可以将docker-compose文件与extend关键字结合起来,但我认为这不适合,因为我可以在运行时添加可变数量的服务.
因为我们正在使用的模板有一种奇怪的(而不是很酷的)行为,所以我一直坚持使用量角器进行测试.
在页面加载时,模板具有覆盖层,这将在1秒后以这种方式隐藏:
$(document).ready(function(config){
setTimeout(function(){
$('.page-loading-overlay').addClass('loaded');
$('.load_circle_wrapper').addClass('loaded');
},1000);
});
Run Code Online (Sandbox Code Playgroud)
*这对我来说太可怕了(不想对此发表评论)
无论如何,我的测试因为运行速度超过一秒而被打破,他们抛出了这个错误:
UnknownError: unknown error: Element is not clickable at point (463, 625). Other element would receive the click: <div class="page-loading-overlay loaded">...</div>
Run Code Online (Sandbox Code Playgroud)
因为显然是接收点击的叠加层.
我发现在测试中设置超时的解决方法,但这确实会减慢我的套件和CI/CD进程.并使测试代码混乱.
这是代码:
it('should test something', function(){
setTimeout(function(){
// test code
}, 1000);
});
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法可以从beforeEach语句中删除DOM中的元素,以完全删除叠加层,因为我不想测试它,我不担心它是否破坏了.
有什么建议吗?
angularjs ×4
javascript ×3
karma-runner ×2
protractor ×2
wordpress ×2
arrays ×1
count ×1
dictionary ×1
django ×1
docker ×1
dom ×1
e2e-testing ×1
ecmascript-6 ×1
forms ×1
gruntjs ×1
jasmine ×1
json ×1
lodash ×1
mailchimp ×1
mocking ×1
mysql ×1
node.js ×1
oauth ×1
params ×1
patch ×1
php ×1
plugins ×1
python ×1
relation ×1
routes ×1
string ×1
swagger ×1
testing ×1
unit-testing ×1
yeoman ×1
yii ×1