问题标签 [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.
javascript - 我应该在 Jasmine 中为什么编写单元测试?
我在系统生命周期中反向工作。几个月前,我编写了一个大型 javascript 库。然后我必须让它变得客观,现在,我必须为它编写单元测试。我正在使用 Maven 并jasmine-maven-plugin
在我的 pom.xml 中有。我遇到的问题是我应该为什么编写测试,以及测试的数量。
第一个例子很简单。该函数接受一个字符串并返回它的首字母大写。
所以我的单元测试它:
但是,我不确定我应该为我的许多其他方法做什么。它们中的大多数处理 html 代码,例如更改选项卡、显示通知、禁用/启用控件。我应该只期待这种方法toHaveBeenCalled
还是还有更多呢?
请检查以下更改选项卡、加载给定选项卡和隐藏通知的示例;
任何澄清都非常感谢。
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 驱动程序。
我做了很多谷歌但无法得到任何解决方案,如果您对此问题有任何见解,请告诉我。提前致谢。
maven - 如何让 Sonar 报告 Maven 运行的 Java 和 JavaScript 测试
我们的项目使用 Maven 作为构建工具,并且我们使用 Sonar 来跟踪质量。JUnit 测试由 SureFire 执行,结果显示在 Sonar 中。我们添加了一些由jasmine-maven-plugin运行的 JavaScript 测试,并希望将这些结果包含在 Sonar 项目中。
该插件生成一个 JUnit 样式的 XML 报告。我们应该如何在 Sonar 中包含 XML 报告?我们是否希望将 XML 报告合并为构建的一部分?
jenkins - 在 Jenkins 中使用 jasmine-maven-plugin 加载 JavaScript 时出错
在使用 jasmine-maven-plugin 运行 Jasmine 测试时,我经常收到以下错误,将 JavaScript 加载到我们的应用程序内部。这似乎只在我们的 CI 环境 (Jenkins) 中运行时才会发生,并且不会在每次运行测试时发生。我已验证 Jetty 已启动并正在侦听指定端口。
有没有人遇到过这个?如果是这样,是否有稳定构建的解决方案?
插件配置:
错误:
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
我在模板文件(异常)上遇到错误,不确定这是关于什么的。
对此有什么帮助吗?
谢谢。
javascript - jasmine-maven-plugin 加载其他一些测试实用程序常用脚本
我有多个测试需要共享相同的通用实用程序脚本。我不想将此文件放在源文件夹结构中,因为它仅与测试相关。
所以我的源文件夹是:
和我的测试源:
在 src/test/js 我有一个 testUtil.js 文件,我需要在其他 jasmine 测试中加载该文件。是否可以从 jasmine 测试中访问此类文件?
angularjs - 无法在 anugular.js 中获取范围 os 控制器
我正在尝试测试一个 javascript 文件,其中包含一个控制器和一些与之交互的 HTML DOM 元素。
被测试的类是:
我试图模拟控制器并动态创建 HTML DOM 元素“工具栏”,而不是为了测试而尝试创建外部 HTML 模板。
我正在尝试在每个之前创建 div“工具栏”并模拟“CodeConceptToolbarController”控制器
但是,当我尝试如下测试时
我收到这个错误
任何人都可以提供一种方法来测试这个吗?还是有更好的方法来测试这个?目前我正在使用 Maven-jasmine 插件
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 认为构建失败的原因????
谢谢贝特和理查德
angularjs - 约翰爸爸“Y165”和测试
我的项目结构类似于 John Papa 的 Y165 Recommendation。该网络项目工作正常(所以我的 app.modile.js 是正确的,我的模块语句也是)。
问题在于测试。
我将 jasmine-maven-plugin 与 PhamtomJS 一起使用(在重构之前一切正常)。
现在我有一个错误:[$injector:nomod] 模块 'xxxxxxxx' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
一开始我做了一个 : beforeEach(module('app')) 所以通常我的模块应该像在 web 项目中一样。
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,...