小编mor*_*n.c的帖子

我应该使用Protractor或Karma进行端到端测试吗?

我应该使用Protractor或Karma进行端到端测试吗?

Angular-seed使用Protractor/Selenium WebDriver进行E2E,但angular-phonecat教程使用业力.

我读到我应该使用Karma进行单元测试,使用Protractor进行E2E,看起来不错,但我想我会在这里要求得到其他开发者的意见.

angularjs protractor

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

使用android-async-http(loopj)发布JSON/XML

我正在使用android-async-http而且非常喜欢它.我遇到了POST数据的问题.我必须以下列格式将数据发布到API: -

<request>
  <notes>Test api support</notes>
  <hours>3</hours>
  <project_id type="integer">3</project_id>
  <task_id type="integer">14</task_id>
  <spent_at type="date">Tue, 17 Oct 2006</spent_at>
</request>
Run Code Online (Sandbox Code Playgroud)

根据文档,我尝试使用它RequestParams,但它失败了.这是其他任何方式吗?我也可以发布等效的JSON.有任何想法吗?

rest post android loopj android-async-http

46
推荐指数
3
解决办法
6万
查看次数

如何为(Angularjs)Web应用程序进行集成测试

我正在开发一个Webapp.它由两部分组成.节点休息服务器和angularjs客户端.

该应用程序采用以下方式构建:Rest服务器< - > Api模块< - > Angular App

该服务器目前已经过充分测试.我有单元测试和集成测试.集成测试正在访问一个真实的数据库并通过http调用其余的api.我认为这与服务器测试一样高.集成测试也运行得很快.我非常有信心我测试服务器的方式足以满足我的用例,我对结果感到满意.

然而,我正在努力如何测试angularjs应用程序.我对相关指令和模块进行了单元测试.写这些不是问题.

我想编写涵盖用户场景的集成测试.像注册场景:用户访问网站,转到注册表单,并提交带有数据的表单.

angularjs团队正在从ng场景转变为量角器.量角器正在使用Selenium来运行测试.因此,有两个范围:应用范围和测试范围.

现在我可以想到我可以使用的三种不同的抽象.而且我不确定哪一套最适合我.

  • 模拟Api模块
  • 模拟Rest服务器
  • 使用完整的服务器

模拟Api模块

在这种情况下,我不需要设置服务器.所有交互都在浏览器中运行

优点:

  • 不需要服务器

坏处:

  • api在浏览器范围内,我不得不篡改它.

我真的很喜欢这个解决方案,但我觉得很难嘲笑Api.需要在浏览器范围内修改Api.因此,我需要将测试中的修改发送到浏览器.这可以做到,但是我没有看到如何mockedApi.method.wasCalledOnce()在测试范围中运行断言

模拟Rest服务器

优点:

  • 客户将保持不变
  • 只有一个范围可以处理

坏处:

  • 一个人必须设置休息路线

我可以在nodejs中创建一个完整的Mock Rest服务器.量角器测试用nodejs编写,因此可以在测试中完成对服务器的控制.在我运行测试之前,我可以告诉服务器如何响应.像这样的东西:server.onRequest({method: 'GET', url: '/'}).respondWith('hello world')

然后我可以做断言 wasCalledOnce

使用完整的服务器与数据库

每个测试都使用完整的服务器运行,并且可以向数据库添加元素.在每次测试之后,可以查看数据库中的预期元素

优点:

  • 可以肯定的是,如果这些测试正在运行,那么应用程序在测试用例中是有用的

坏处:

  • 我已经与其他服务器进行了相当强烈的集成测试.这感觉就像再次做同样的事情.
  • 安装程序取决于整个服务器

目前的结论

  • 模拟Api会完全分离服务器和客户端.
  • 使用模拟Api将是一个更高级别的测试,但需要一个假的服务器
  • 执行完整集成测试将提供最佳可靠性,但这也高度依赖于服务器代码

我应该选择什么?你会怎么做?

javascript testing node.js angularjs protractor

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

Backbone.js中的PATCH请求方法

PATCH在Backbone.js中保存模型属性时执行请求的正确方法是什么?

backbone.js http-patch

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

捕获所有<a>点击事件

我想添加一个javascript函数来捕获<a>html页面内的所有点击事件.

所以我添加了一个管理所有<a>点击事件的全局函数,但没有添加onclick给每个(既不使用.onclick=也不attachEvent(onclick...)是内联onclick=).我会在html中留下<a>简单的内容,<a href="someurl">而不会触及它们.

我尝试window.onclick = function (e) {...} 但只捕获所有点击如何仅指定点击<a>并提取<a>被点击的内部链接?

限制:我不想使用任何exra库,如jQuery,只是vanilla javascript.

javascript events capture

18
推荐指数
5
解决办法
4万
查看次数

用于管理java lang .properties文件以进行翻译的软件

有没有一个很好的软件来管理java .properties语言文件,我试过Pootle但你必须转换为po文件,然后还有其他选择吗?

我需要一些翻译人员可以通过一些可以管理.properties文件的翻译软件来翻译我们的JSF gui的东西

java translation properties file pootle

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

Jackson中的JSON View类是什么?它是如何工作的?

我不明白Jackson的@JsonView(Views.MyClass.class)是什么.我知道我可以用这种方式注释POJO的字段和方法,以过滤未注释的字段和方法与JSON序列化.但什么是Views.Myclass类?它是杰克逊图书馆的模板类吗?

为什么Views类中有很多类?例如这样:

 class Views {
            static class Public { }
            static class ExtendedPublic extends PublicView { }
            static class Internal extends ExtendedPublicView { }
  }
Run Code Online (Sandbox Code Playgroud)

为什么需要它,它是如何工作的?

java serialization json jackson

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

Java 8计算两个日期之间的月份

注意这不是以下任何一个重复


我有两个约会:

  • 开始日期: "2016-08-31"
  • 结束日期: "2016-11-30"

它在上述两个日期之间的91天持续时间,我预计我的代码将返回3个月的持续时间,但以下方法仅返回2个月.有人有更好的建议吗?或者你们认为这是Java 8中的一个错误吗?91天的持续时间仅返回2个月.

非常感谢你的帮助.

方法1:

Period diff = Period.between(LocalDate.parse("2016-08-31"),
    LocalDate.parse("2016-11-30"));
Run Code Online (Sandbox Code Playgroud)

方法2:

long daysBetween = ChronoUnit.MONTHS.between(LocalDate.parse("2016-08-31"),
    LocalDate.parse("2016-11-30"));
Run Code Online (Sandbox Code Playgroud)

方法3:

我尝试使用Joda库而不是Java 8 API,它的工作原理.它将loos返回3,看起来像Java持续时间的月计算也使用了天数值.但就我而言,我不能在我的项目中使用Joda.所以还在寻找其他解决方案.

    LocalDate dateBefore= LocalDate.parse("2016-08-31");
    LocalDate dateAfter = LocalDate.parse("2016-11-30");
    int months = Months.monthsBetween(dateBefore, dateAfter).getMonths();
    System.out.println(months);
Run Code Online (Sandbox Code Playgroud)

java java-8

14
推荐指数
4
解决办法
2万
查看次数

Fieldset和禁用所有子输入 - 解决IE问题

我有一个在其下面有ui-view的fieldset.
每个视图都有很多字段(字段是包装输入的指令).

它看起来像这样:

<fieldset ng-disabled='myCondition'>
   <div ui-view></div> // this changes with lot's of fields that look like <div field='text-box'></div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

现在,这很好用,除IE之外的所有浏览器禁用字段.
我做了一些谷歌,看到即不支持fieldset +禁用,我正在寻找一个快速的解决方法.

我尝试了一些接近但不完美的事情,我认为我不是第一个需要解决方案的人(即使我没有在谷歌上找到任何东西).

internet-explorer fieldset disabled-input angularjs angularjs-directive

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

是量角器Angular的新情景跑者吗?

我最近听说,Angular正在转向Protractor作为新的端到端测试工具,我的理解是否正确?我克隆并查看了样本.我能够运行jasmine-node来查看所有测试运行正常.我可以按照示例代码,但只是好奇,有没有可用的写入?我没有找到任何好的文件.

谢谢

angularjs protractor

12
推荐指数
1
解决办法
5161
查看次数