小编Nor*_*mac的帖子

如何在AngularJS指令测试中模拟单击事件?

我已经尝试按照ng-directive-testing repo 的格式来编写我编写的指令.当用户点击元素时,该指令基本上呈现叠加.这是指令(简化):

mod.directive('uiCopyLinkDialog', function(){
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            var $elm = angular.element(element);
            element.bind('click', function(event) {
                $elm.addClass('test');
            });
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

我写的测试看起来像这样:

describe('pre-compiled link', function () {

    beforeEach(mocks.inject(function($compile, $rootScope) {
        scope = $rootScope;
        element = angular.element('<span class="foo" ui-copy-link-dialog="url"></span>');
        $compile(element)(scope);
        scope.$digest();
    }));

    it("should change the class when clicked", function () {
        element.click(); // this returns "'undefined' is not a function"
        element[0].click(); // so does this
        $(elm).click(); // this uses jquery and doesn't *seem* to fail …
Run Code Online (Sandbox Code Playgroud)

phantomjs angularjs angularjs-directive

48
推荐指数
2
解决办法
5万
查看次数

继承Maven配置文件

子POM是否可以继承父POM中定义的配置文件?如果是这样,怎么样?

maven-2 maven-profiles

30
推荐指数
3
解决办法
2万
查看次数

如何在tomcat中设置JVM参数,这些参数在eclipse和使用startup.bat时都有效

我在Windows上安装了Tomcat 7,我正在部署我的应用程序.我需要为服务器上运行的应用程序设置几个JVM args.在网上搜索时,我发现两个(如果算上Windows服务的话有三个)阵营:

对于那些使用eclipse的人:

双击服务器>打开启动配置>参数选项卡

对于那些使用tomcat的启动脚本:

创建setenv.bat(或Linux的setenv.sh)并设置CATALINA_OPTS或JAVA_OPTS

但是,它们似乎是相互排斥的.在eclipse中设置参数(如果可以告诉它们存储的位置,则为+1)不会影响启动脚本,并且在eclipse中启动时设置setenv.bat属性不会影响服务器.两者都是单独的.

两者都指向相同的安装,并且在服务器的概述页面上的eclipse中,我选择了"使用Tomcat安装(控制Tomcat安装)".

eclipse tomcat eclipse-wtp tomcat7

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

如何获取命令行属性来覆盖maven属性

我有一个pom文件,其中一些依赖项的版本号依赖于pom文件的设置中指定的项目版本属性.我可以通过命令行覆盖它吗?如果是这样,怎么样?

这是长篇故事:

我们目前正在将我们的项目转移到maven,但我们还没有完成任何方式.有多个模块仍然没有使用maven构建,因此是我们项目中的依赖项(它们通过ant构建到jar中).发布后,我们希望构建所有这些jar并包含与父项目相同的版本号.对于发布,执行两个步骤(直到我们可以使用maven获取所有内容)

  1. 这些罐子是用正确的发布版本(12.12.4.0)构建的.
  2. maven发布插件用于将项目部署到我们的工件库.

在第二步中,命令行参数用于指定发行版:

mvn release:prepare -DreleaseVersion=12.12.4.0 -DdevelopmentVersion=12.12.4.1-SNAPSHOT -Dtag=iv-12.12.4.0
Run Code Online (Sandbox Code Playgroud)

我想用指定的版本更新pom文件.但是,运行此命令时,仍在使用pom文件(12.12.4.0-SNAPSHOT)中的版本.这无法"检查快照的依赖项和插件"步骤,我需要解析仍然具有maven版本属性使用的12.12.4.0-SNAPSHOT版本的jar.

这让我想到了如何覆盖它的原始问题,以便版本解析为命令行中指定的版本.可以让我解决的其他问题是:如何在此检查之前允许maven发布插件更新pom文件?如何跳过快照检查(不可取)

我可以在pom文件中创建一个我可以覆盖的属性,但是我必须在pom文件中的两个位置维护版本号.

思考?

maven maven-release-plugin

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

我该如何修复"编译单元名称必须以.java或其中一个注册的Java类扩展"结束?

当我尝试在eclipse中保存我的js文件时,此错误出现在警告框中:

编译单元名称必须以.java或其中一个已注册的类Java扩展名结尾

在断点视图中,我看到:

/module-foo/src/main/resources/frontend/foo/foo_base.js [entry] - ___anonymous()    
Run Code Online (Sandbox Code Playgroud)

eclipse

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

在我的应用程序的初始加载时,为什么ui-router状态未设置?

当我去我的应用程序时https://localhost/my-app/resources/index.html,我有逻辑进入我自定义的默认状态.但是,当我想直接转到我的应用程序的特定部分(即https://localhost/my-app/resources/index.html#/orders/draft)时,状态未设置(模板也未加载到ui-view指令中).一旦初始加载完成(设置了默认状态),那么我可以直接在网址内容中添加内容.

我想我错过了一些关于如何在我的应用程序中加载内容的基本概念,但我希望状态会被设置,因为url是在 $location.url()

我的代码片段用于处理初始加载时的状态:

$http.get("Navigation").then(function(response){
    var navigationObjects = response.data,
        directUrl = $location.url(),
        stateName = null;

    scope.availableStates = ims360RouterStateService.getAvailableStates(navigationObjects);
    if (!directUrl)
    {
        scope.updatePrimaryState(scope.availableStates[0]);
    }
    else
    {
        //TODO there's probably a better way to do this
        //parsing out the state name, requires that the state name matches the url, this fails when I have a place holder (such as an id to a resource)
        stateName = directUrl.substring(1).replace(/\//g, ".");
        $state.go(stateName);
    }
});
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我从服务器获取导航对象,确定用户可以访问哪些ui-router状态.然后我所有定义的状态都被过滤到可用状态,这些是我用于导航ui的状态.

另外,"updatePrimaryState(...)包含对$ state.go(...)的调用

那么,为什么状态没有设置初始负载?如果这是预期的行为,那么将用户引导到指定的url的好方法是什么?

UPDATE

我创建了一个显示预期行为的plunker(http://plnkr.co/edit/m9gQLOZmqaAY88wSc6wC?p=preview …

angularjs angular-ui-router

13
推荐指数
1
解决办法
4861
查看次数

上次自动更新Chrome后,karma + Chrome无法正常运行

我们使用jenkins和在Windows 7上运行的许多jenkins从节点.通过jenkins我们开始在从节点上运行karma测试以在实际浏览器上运行我们的jasmine测试.在Chrome自动更新到版本"38.0.2125.104 m"之后,上周突然停止了工作(karma无法捕获浏览器).这是我们的日志:

[INFO] --- maven-karma-plugin:1.8:start (default-cli) @ module-translation ---
[INFO] Executing Karma Test Suite ...
[INFO] cmd /C karma start C:\dev\util\jenkinsMaster\workspace\ci_module_translation_browser\translation\target\test-classes\frontend\thirdParty\js\com\verisk\underwriting\config\karma-config-module\1.0.3\karma-config-module-1.0.3.js --browsers Chrome --single-run
INFO [karma]: Karma v0.12.5 server started at http://localhost:9876/ 
INFO [launcher]: Starting browser Chrome 
WARN [launcher]: Chrome have not captured in 60000 ms, killing. 
INFO [launcher]: Trying to start Chrome again (1/2). 
WARN [launcher]: Chrome have not captured in 60000 ms, killing. 
INFO [launcher]: Trying to start Chrome again (2/2). 
WARN [launcher]: Chrome have not captured …
Run Code Online (Sandbox Code Playgroud)

google-chrome jenkins karma-runner karma-jasmine

13
推荐指数
1
解决办法
4180
查看次数

何时加载了logback配置文件?

如何加载logback.xml文件?具体来说,什么时候加载?

我在网上看到了这样的解释:

  1. Logback尝试在类路径中查找名为logback.groovy的文件.
  2. 如果未找到此类文件,则logback会尝试在类路径中查找名为logback-test.xml的文件.
  3. 如果找不到这样的文件,它会检查类路径中的文件logback.xml.
  4. 如果找不到任何文件,则logback将使用BasicConfigurator自动配置自身,这将导致日志记录输出定向到控制台.

但是没有提到何时加载.是第一次调用日志语句吗?

configuration logback

7
推荐指数
1
解决办法
1262
查看次数

如何在Logback中更新SMTPAppender上的"to"地址?

我正在创建一个管理页面,其中包含一些我想要动态设置的logback属性,其中一个是我发送系统警报的管理员电子邮件.api for the SMTPAppender有添加到"to"地址列表的方法,或者将它们作为列表获取,但我没有找到任何要清除的内容,删除任何内容或更新它们.我该怎么做?

我目前看到两种选择:

  1. 一种选择是删除appender并使用新属性创建一个新的(yuck).
  2. 弄清楚如何通过Joran直接配置它(也许你好吗?).

我正在向前推进(2),但如果有更好的方法请发帖.

java logging logback smtpappender

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

如何在离子app-scripts构建期间自定义步骤?

我想开始使用tslint 4,但离子app-scripts还不支持它:https://github.com/driftyco/ionic-app-scripts/issues/649

我已成功配置lint脚本(在package.json中)ng lint而不是ionic-app-scripts lint在运行时运行npm run lint:

  "scripts": {
    "build": "ionic-app-scripts build",
    "lint": "ng lint",
    ...
  }
Run Code Online (Sandbox Code Playgroud)

但是,此更改不会影响构建脚本.构建仍然运行ionic-app-scripts lint而不是ng lint.

是否可以配置在构建脚本中运行哪些命令?

tslint ionic2

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