问题标签 [jasmine-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
733 浏览

javascript - 我应该在 Jasmine 中为什么编写单元测试?

我在系统生命周期中反向工作。几个月前,我编写了一个大型 javascript 库。然后我必须让它变得客观,现在,我必须为它编写单元测试。我正在使用 Maven 并jasmine-maven-plugin在我的 pom.xml 中有。我遇到的问题是我应该为什么编写测试,以及测试的数量。

第一个例子很简单。该函数接受一个字符串并返回它的首字母大写。

所以我的单元测试它:


但是,我不确定我应该为我的许多其他方法做什么。它们中的大多数处理 html 代码,例如更改选项卡、显示通知、禁用/启用控件。我应该只期待这种方法toHaveBeenCalled还是还有更多呢?

请检查以下更改选项卡、加载给定选项卡和隐藏通知的示例;

任何澄清都非常感谢。

0 投票
1 回答
171 浏览

maven - 从 jasmine-maven-plugin 获取 setOnopen 运行时异常

我正在尝试为我的项目实施 jasmine-maven-plugin。

在我的项目中有多个单独的 web 项目,我成功地将上述插件集成到我的所有 web 项目中,除了一个。

我已经为我的所有 Web 项目使用了HtmlUnit驱动程序,但是得到了RuntimeException: Exception invoking setOnopen from WebSocket class for a specific web project,其他的执行得很好。

如果我使用phantomjs驱动程序而不是htmlunit ,那么它可以无缝工作,但为此我必须将 phantomjs 可执行文件保留在我的系统 PATH 中,这不符合 maven 哲学,我不想在我的系统中保留任何单独的可执行文件。因此,我想使用抛出上述 setOnopen 异常的 htmlunit 驱动程序。

我做了很多谷歌但无法得到任何解决方案,如果您对此问题有任何见解,请告诉我。提前致谢。

0 投票
1 回答
1643 浏览

maven - 如何让 Sonar 报告 Maven 运行的 Java 和 JavaScript 测试

我们的项目使用 Maven 作为构建工具,并且我们使用 Sonar 来跟踪质量。JUnit 测试由 SureFire 执行,结果显示在 Sonar 中。我们添加了一些由jasmine-maven-plugin运行的 JavaScript 测试,并希望将这些结果包含在 Sonar 项目中。

该插件生成一个 JUnit 样式的 XML 报告。我们应该如何在 Sonar 中包含 XML 报告?我们是否希望将 XML 报告合并为构建的一部分?

0 投票
0 回答
930 浏览

jenkins - 在 Jenkins 中使用 jasmine-maven-plugin 加载 JavaScript 时出错

在使用 jasmine-maven-plugin 运行 Jasmine 测试时,我经常收到以下错误,将 JavaScript 加载到我们的应用程序内部。这似乎只在我们的 CI 环境 (Jenkins) 中运行时才会发生,并且不会在每次运行测试时发生。我已验证 Jetty 已启动并正在侦听指定端口。

有没有人遇到过这个?如果是这样,是否有稳定构建的解决方案?

插件配置:

错误:

0 投票
0 回答
1690 浏览

requirejs - 如何使用 MAVEN-PLUGIN 设置 JASMINE?

我有一个像这样的文件夹结构

我在包含“model”、“views”、“collections”的“spec”文件夹中编写了 JASMINE 测试用例。

我可以在 runner.html 中看到我的测试结果。

现在我正在尝试与 MAVEN 构建集成。SO遵循http://searls.github.io/jasmine-maven-plugin中给出的步骤

但是我在执行 mvn clean install 时构建失败,并且在执行 mvn jasmine:bdd 时无法在 localhost:8234 上看到任何内容

我无法找出问题所在。控制台中的错误显示了一些关于 require js 的信息。

以下是我的 jasmine-maven 插件的 POM.xml

任何人都可以指导什么是错误的或更好地提供一些与 MAVEN 构建集成的演示项目(Backbone+Require+Jasmine)。

提前致谢。

我阅读了一些博客并尝试编辑我的 jasmine-maven 插件,如下所示

现在我可以在 mvn clean install 时在控制台中检查 JASMINE 规格,如下所示-

引起:net.sourceforge.htmlunit.corejs.javascript.JavaScriptException:错误:src/views/../../templates/menu.tmpl HTTP 状态:404

我在模板文件(异常)上遇到错误,不确定这是关于什么的。

对此有什么帮助吗?

谢谢。

0 投票
2 回答
402 浏览

javascript - jasmine-maven-plugin 加载其他一些测试实用程序常用脚本

我有多个测试需要共享相同的通用实用程序脚本。我不想将此文件放在源文件夹结构中,因为它仅与测试相关。

所以我的源文件夹是:

和我的测试源:

在 src/test/js 我有一个 testUtil.js 文件,我需要在其他 jasmine 测试中加载该文件。是否可以从 jasmine 测试中访问此类文件?

0 投票
1 回答
819 浏览

angularjs - 无法在 anugular.js 中获取范围 os 控制器

我正在尝试测试一个 javascript 文件,其中包含一个控制器和一些与之交互的 HTML DOM 元素。

被测试的类是:

我试图模拟控制器并动态创建 HTML DOM 元素“工具栏”,而不是为了测试而尝试创建外部 HTML 模板。

我正在尝试在每个之前创建 div“工具栏”并模拟“CodeConceptToolbarController”控制器

但是,当我尝试如下测试时

我收到这个错误

任何人都可以提供一种方法来测试这个吗?还是有更好的方法来测试这个?目前我正在使用 Maven-jasmine 插件

0 投票
1 回答
275 浏览

jenkins - 使用 jasmine 测试的 Maven 构建成功,但 jenkins 将其显示为失败

我们有一个使用 Maven 构建的项目,其中包含一组 Jasmine 测试。这些使用 jasmine-maven-plugin 运行并以无头模式运行。

从命令行运行时,项目可以正确构建。然而,当从 jenkins 运行时,jenkins 报告项目失败(即一个红球)。当我们检查从属控制台时,构建成功。

控制台输出以 Finished: SUCCESS 结尾

我们添加了一个后期构建步骤,用于检查返回的流程结果代码是否为 0。

我们尝试使用 windows 和 linux slave 运行构建,没有任何区别。

当我们在构建期间禁用 jasmine 测试时,JEnkins 会显示项目已成功构建。

我们检查了詹金斯日志,我们看到了类似的消息

28/01/2015 2:14:44 PM hudson.model.Run 执行信息:暴风雨 #20 主要构建操作已完成:成功

我们如何确定 Jenkins 认为构建失败的原因????

谢谢贝特和理查德

0 投票
0 回答
100 浏览

angularjs - 约翰爸爸“Y165”和测试

我的项目结构类似于 John Papa 的 Y165 Recommendation。该网络项目工作正常(所以我的 app.modile.js 是正确的,我的模块语句也是)。

问题在于测试。

我将 jasmine-maven-plugin 与 PhamtomJS 一起使用(在重构之前一切正常)。

现在我有一个错误:[$injector:nomod] 模块 'xxxxxxxx' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

一开始我做了一个 : beforeEach(module('app')) 所以通常我的模块应该像在 web 项目中一样。

0 投票
2 回答
1344 浏览

angularjs - jasmine-maven-plugin + phantomJS:错误:[$injector:nomod]

我创建了一个项目:

首先我用mvn jasmine:test 测试测试运行正常。

注意:我使用 Maven 3.2.1

在“目标”目录中,我添加了一个文件夹“phantomjs-1.9.7-windows”,在其中放置“phantomjs.exe”

我修改了我原来的 pom.xml 以添加

我在“src/main/javascript”下创建了一个文件夹“libs”并将其放入: - jquery-1.9.1.js - angular.js - angular-ui-router.js - angular-resource.js

注意:角度在版本 1.2.23 中

之后,我在“src/main/javascript”下创建了另一个文件夹“app”并将其放入:“app.module.js”

在“src/main/javascript/app”下,我创建了一个文件夹“security”并将其放入:“security.module.js”

和“cha_directive.js”

如果我用mvn jasmine:test 进行测试,我会得到一个错误:

如果我只是在“toto_directive.js”重命名“cha_directive.js ”(使用相同的源代码)并再次运行mvn jasmine:test,测试将正常运行。

如果我使用“cha_directive.js”名称文件并运行mvn jasmine:bdd。之后我在 FF 中运行 url http://localhost:8234测试正常运行。

唯一的事情(如果我用 fireBug 编辑“Jasmine Spec Runner”的 HTML 代码)是我可以看到这个标签:

如果我在“checkForConsoleErrors”中查看 SpecRunnerExecutor.java 类,则有一个测试:

注意:其他文件名使测试崩溃:input_directive.js,accessKey_directive.js,...