小编Jul*_*ian的帖子

为什么针对angular-google-maps提供程序的此测试失败?

我正在尝试测试使用的模块angular-google-maps.它失败了,因为angular.mock.inject找不到uiGmapGoogleMapApiProvider:

Error: [$injector:unpr] Unknown provider: uiGmapGoogleMapApiProviderProvider <- uiGmapGoogleMapApiProvider
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚出了什么问题.这是简化的测试用例:

'use strict';

describe('this spec', function() {
    beforeEach(module('uiGmapgoogle-maps'));

    it('tries to configure uiGmapGoogleMapApiProvider', inject(function(uiGmapGoogleMapApiProvider) {
        expect(uiGmapGoogleMapApiProvider.configure).toBeDefined();
    }));
});
Run Code Online (Sandbox Code Playgroud)

整个过程可以作为GitHub中可立即运行的Angular项目提供.如果您发现问题,请在此处回答Stack Overflow.如果您还向GitHub存储库提交拉取请求,则可获得奖励积分.

javascript angularjs karma-runner angular-mock angular-providers

9
推荐指数
1
解决办法
516
查看次数

如何使用cmake(或任何其他可移植构建工具)剥离文件扩展名?

我正在开发一个由多个小型可执行文件组成的项目.可执行文件旨在从终端(或命令提示符)运行,并且可以用任何编程语言编写.用解释语言编写的那些用于unixy系统的shebang行,而它们的文件扩展名被添加到Windows上的PATHEXT环境变量中.

为了在所有编程语言和两个主要平台组中使用一致的可执行文件,我需要从unixy系统上的解释程序的文件名中删除文件扩展名.(通过"一致用法"我的意思是:只需键入要启动它的程序的名称,而无需指定其文件扩展名.)

为了更具体地说,假设我写了类似下面的CMakeLists文件:

project (Mixed Example)

add_executable (banana banana.cpp)
add_executable (grape grape.hs)
add_script? (orange orange.py)
add_script? (strawberry strawberry.lua)

install (TARGETS banana grape orange strawberry DESTINATION bin)
Run Code Online (Sandbox Code Playgroud)

然后我想banana.cppgrape.hs通常的方式进行编译,而我想要的文件扩展名orange.py,并strawberry.lua有条件地剥离,根据不同的平台上.因此,bin目录应该在unixy系统上包含以下文件:

banana grape orange strawberry
Run Code Online (Sandbox Code Playgroud)

以及Windows上的以下内容:

banana.exe grape.exe orange.py strawberry.lua
Run Code Online (Sandbox Code Playgroud)

我怎么做?

build cmake

8
推荐指数
1
解决办法
4883
查看次数

为什么这些自定义Flask会话界面的测试失败?

我正在Flask中编写混合单页web/PhoneGap应用程序.由于PhoneGap应用程序中的cookie基本上不可用,我实现了一个完全避免cookie 的自定义会话接口.它将会话数据存储在应用程序数据库中,并在HTTP请求和响应主体中显式传递会话ID.

我创建了一个带有简化测试用例的GitHub存储库.它本身仍然是一个相当大的项目,但自述文件应该可以帮助您快速找到自己的方式.repo包括七个测试,当使用Flask的默认基于cookie的会话接口时,所有测试都成功,并且所有测试都失败了我的自定义会话接口.主要问题似乎是数据有时不会保留在会话对象上,但这很神秘,因为会话对象继承自Python的内置dict,它不应该自发地忘记数据.此外,与Flask的示例Redis会话片段相比,会话界面简单明了,似乎没有任何明显的错误.

更令人沮丧的是,自定义会话界面似乎在实际应用程序中正常工作.只有单元测试失败.但是,由于这个原因,假设会话接口在所有情况下都能正常工作是不安全的.

将非常感谢帮助.

编辑: Gist不接受缩减的测试用例,因为它包含目录.我现在将它移动到一个完整的GitHub存储库.完成后我会再次更新这篇文章.

新编辑:将简化的测试用例移动到适当的GitHub存储库.自述文件仍然提到"这个要点",对不起.

python session customization flask

8
推荐指数
1
解决办法
675
查看次数

如何测试Angular模块的配置功能?

我在configAngular 的函数中定义了一些module我想要进行单元测试的设置代码.我不清楚我应该怎么做.下面是一个简化的测试用例,展示了我是如何陷入困境的:

'use strict';

angular.module('myModule', []).config(['$http', '$log', function($http, $log) {
    $http.get('/api/getkey').then(function success(response) {
        $log.log(response.data);
    });
}]);

describe('myModule', function() {
    it('logs a key obtained from XHR', inject(function($httpBackend) {
        $httpBackend.expectGET('/api/getkey').respond(200, '12345');
        angular.module('myModule');
        $httpBackend.flush();
    }));
});
Run Code Online (Sandbox Code Playgroud)

这显然不是正确的方法,因为我收到以下错误:

Error: No pending request to flush !
Run Code Online (Sandbox Code Playgroud)

与上面的测试代码完整的,现成的运行角度的项目可以发现在GitHub上.如果您知道如何处理此场景,请在此处回答Stack Overflow.如果您还向GitHub仓库提交拉取请求,则可获得奖励积分.

javascript angularjs karma-runner karma-jasmine angular-mock

8
推荐指数
2
解决办法
1565
查看次数

如何在Flask-Admin表单中处理有序的多对多关系(关联代理)?

我在声明性模型页面调查之间存在多对多关系,它由关联代理调解,因为调查中页面出现的顺序很重要,因此交叉链接表有一个额外的字段.

from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.ext.associationproxy import association_proxy
db = SQLAlchemy()

class Page (db.Model):
    id = db.Column(db.Integer, primary_key = True)
    surveys = association_proxy('page_surveys', 'survey')

class Survey (db.Model):
    id = db.Column(db.Integer, primary_key = True)
    pages = association_proxy('survey_pages', 'page')

class SurveyPage (db.Model):
    survey_id = db.Column(db.Integer, db.ForeignKey('survey.id'), primary_key = True)
    page_id = db.Column(db.Integer, db.ForeignKey('page.id'), primary_key = True)
    ordering = db.Column(db.Integer)  # 1 means "first page"
    survey = db.relationship('Survey', backref = 'survey_pages')
    page = db.relationship('Page', backref = 'page_surveys')
Run Code Online (Sandbox Code Playgroud)

现在我想通过Flask-Admin提供一个表单,让用户将页面添加到调查中.理想情况下,用户将页面填充到表单中的顺序决定了它的值 …

sqlalchemy jinja2 flask jquery-select2 flask-admin

5
推荐指数
1
解决办法
3471
查看次数

零售业的客户细分

我有一个大型的"住宅和建筑"零售销售数据库.而且我需要知道商店里的电工,水管工,画家等等.

我的第一种方法是选择与专业相关的文章(例如,电线[文章]与电工[专业]相关)然后,根据客户销售情况,了解客户是谁.

但这是很多工作.

我的第二种方法是首先进行聚类分割,然后发现哪个聚类属于专业.(这样更好,因为我能够发现新的细分)

但是,我该怎么做?我应该占用什么类型的聚类?Kmeans,模糊?我应该对该模型采取哪些变量?我应该使用PCA来了解要搜索的群集数量吗?

我的数据标题(简化):

customer_id | transaction_id | transaction_date | item_article_id | item_group_id | item_category_id | item_qty | sales_amt
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激(对不起,我的英文)

r cluster-analysis k-means pca

5
推荐指数
1
解决办法
3635
查看次数

使用 sortBy 方法排序在下划线中不起作用

我正在尝试使用下划线 sortBy 方法对对象数组进行排序,json 如下

[
   {
      "styleId": 91,
      "styleName": "Style Label",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 1,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": true,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "real",
      "createdDate": 1494217733790,
      "modifiedBy": "superuser",
      "modifiedDate": 1494388952450,
      "rowVersion": "AAAAAAIC8ls="
   },
   {
      "styleId": 69,
      "styleName": "irtest",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 16,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": false,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": …
Run Code Online (Sandbox Code Playgroud)

javascript sorting underscore.js

3
推荐指数
1
解决办法
676
查看次数

CSS 文本的宽度过渡不起作用

我有一个 div,我想在其中显示一个人的名字。

我只想在正常状态下显示该人的名字。当您将鼠标悬停时,姓氏应出现在名字的右侧,其宽度从 0 扩展到正常宽度。所有这些文本都右对齐。

如果我将过渡应用于姓氏范围,它甚至不会显示。
我还尝试了 max-width (就像一个人在这里所做的那样: http: //jsfiddle.net/qP5fW/87/),但它不起作用。所以我做了一个包装 div,使用 width 而不是 max-width,现在它可以工作了,只是它根本不显示过渡。

我怀疑问题出在“auto”属性上,但如果有人知道如何进行转换,我将非常感激。

这是我的小提琴: https: //jsfiddle.net/drywrsy6/

HTML:

<div class="name">
  <span class="first">John</span>
  <div class="last-wrapper">
    <span class="last">Doe</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.name {
  border: 1px solid lightgrey;
  margin: 10px auto 0px auto;
  padding: 5px;
  width: 300px;
  font-size: 2em;
  text-align: right;
  overflow: hidden;
  white-space: nowrap;
}

.first {
  font-style: italic;
}

.last-wrapper {
  display: inline-block;
  vertical-align: bottom;
  overflow: hidden;
  width: 0;
  transition: all 1s;
}

.last {
  color: red;
} …
Run Code Online (Sandbox Code Playgroud)

html css hover width css-transitions

2
推荐指数
1
解决办法
5807
查看次数