标签: js-test-driver

JSTestDriver和持续集成

我试图使用JSTestDriver自动化我的Javascript测试与Hudson作为持续集成后端.我的目标是让Hudson至少制作一份关于测试结果的报告,因为失败的测试失败是最理想的结果.

我在网上快速搜索,发现Hudson似乎没有JSTestDriver的直接插件(它只有一个用于TeamCity).我正在考虑使用Hudson监视javascript测试作为外部工作,但我感觉这比需要的更复杂.

有没有人对上述场景有经验/建议?

谢谢.

javascript continuous-integration hudson js-test-driver

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

Javascript JsTestDriver Jasmine和Jasmine-jquery

我有很多Jasmine单元测试,它们运行Javascripts代码的单元测试.他们使用Jasmine-jquery插件来进行DOM操作.他们使用loadFixture来加载HTML的装置

我尝试使用JsTestDriver和JasmineAdapter自动化这些单元测试但是所有涉及DOM-jquery操作的测试都没有通过?这有什么问题吗?有没有办法在JsTestDriver中使用Jasmine-jquery?

javascript js-test-driver jasmine jasmine-jquery

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

JS 测试驱动程序“assertException”的正确语法?

我试图弄清楚如何正确使用 JS 测试驱动程序的 assertException 方法。从谷歌的文档应该是:assertException([msg], callback, error)。但是,无论我做什么,我总是会收到此测试的 [ERROR](而不是 [PASS],因为有异常):

ComponentTest.prototype.testEnforceUniqueComponentIds = function() {
    assertException(function(){
        this.component = new myNamespace.component(this.testComponentSettings);
    });
}
Run Code Online (Sandbox Code Playgroud)

在我的 src JS 中:

myNamespace.component = function(params){
if (typeof params.selector == 'undefined'){
    throw new Error('no selector provided');
}
this.settings = jQuery.extend({}, {
    id              : 'defaultComponentId',
    type            : 'defaultComponentType',
    selector    : 'body',
    isUnique    : false
}, params);

if(typeof(myNamespace.componentRegistry[params.id]) === "undefined"){
    myNamespace.registerComponent(this);
} else {
    throw new Error('non-unique component id provided');
}
}
Run Code Online (Sandbox Code Playgroud)

这是 js-test-driver 的输出:

C:\xampp2\htdocs\myNamespace\v2>java -jar JsTestDriver.jar --tests all --verbose …
Run Code Online (Sandbox Code Playgroud)

javascript js-test-driver

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

如何对与DOM元素交互的Javascript代码进行单元测试

背景:

我来自Java背景,所以不太熟悉Javascript.

我们计划对现有(遗留)代码和未来工作引入JavaScript单元测试.我们主要是一家java商店(Spring,Weblogic等).

我们正在寻找能够与IDE(IntelliJ构思)和声纳良好集成的选项,以及能够将它们作为持续集成的一部分运行.

JsTestDriver似乎勾选了所有方框.

题:

我们现有的许多javascript代码是a)嵌入在JSP中,b)利用jQuery直接与页面元素进行交互.

我们应该如何测试严重依赖于DOM的函数.这是我正在谈论的函数的一些代码示例:

function enableOccupationDetailsText (){
    $( "#fldOccupation" ).val("Unknown");
    $( "#fldOccupation_Details" ).attr("disabled", "");
    $( "#fldOccupation_Details" ).val("");
    $( "#fldOccupation_Details" ).focus();
}
Run Code Online (Sandbox Code Playgroud)

要么

jQuery(document).ready(function(){

    var oTable = $('#policies').dataTable( {
            "sDom" : 'frplitip',
                "bProcessing": true,
                "bServerSide": true,
                "sAjaxSource": "xxxx.do",
                "sPaginationType": "full_numbers",
                "aaSorting": [[ 1, "asc" ]],
                "oLanguage": {
                    "sProcessing":   "Processing...",
                    "sLengthMenu":   "Show _MENU_ policies",
                    "sZeroRecords":  "No matching policies found",
                    "sInfo":         "Showing _START_ to _END_ of _TOTAL_ policies",
                    "sInfoEmpty":    "Showing 0 to 0 of 0 policies",
                    "sInfoFiltered": "(filtered from …
Run Code Online (Sandbox Code Playgroud)

javascript jquery unit-testing qunit js-test-driver

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

js-test-driver + coverage插件在javascript 1.7语句上崩溃

尝试将测试支持添加到我的项目中。附带了coverage插件的JsTestDriver。虚拟测试正常运行,但是当我加载所有源文件时,我的应用程序崩溃并显示以下内容:

[java] **line 109:12 no viable alternative at input 'formFound'**
[java] Exception in thread "main" com.google.jstestdriver.coverage.CodeInstrumentor$InstrumentationException: error instrumenting /path/discover.js
[java]  at com.google.jstestdriver.coverage.CodeInstrumentor.instrument(CodeInstrumentor.java:74)
[java]  at com.google.jstestdriver.coverage.CoverageInstrumentingProcessor.process(CoverageInstrumentingProcessor.java:62)
Run Code Online (Sandbox Code Playgroud)

这行代码如下所示:

let formFound = tryToFindLoginForm();
Run Code Online (Sandbox Code Playgroud)

我将该定义更改为

var formFound = tryToFindLoginForm();
Run Code Online (Sandbox Code Playgroud)

之后,JSTD将传递该字符串,但在下一个let语句中死亡。有什么办法可以解决这个问题,告诉JSTD代码中使用的javascript版本或其他内容?

不使用let将整个代码重写为版本将是一个很大的问题。

预先感谢您的帮助。

javascript code-coverage js-test-driver

5
推荐指数
0
解决办法
150
查看次数

在进行测试驱动开发之前的注意事项

我开始使用JavaScript的测试驱动开发,但我想在我的不同项目中开始使用它.

我想知道什么是典型的错误以及如何避免它们?

此外,我想知道我应该阅读什么,以使测试驱动开发更容易学习并应用于我的代码.

提前致谢.

tdd unit-testing js-test-driver

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

运行无头JsTestDriver?

有没有办法在无头状态下使用jsTestDriver加载浏览器但是无头(你看不到浏览器)或者加载最小化?

javascript unit-testing js-test-driver headless-browser

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

在Mac上使用xvfb无头运行Safari浏览器

如何在OSX平台上的Safari浏览器上无头地运行我的jstestdriver测试用例?我可以使用xvfb-run命令在Linux上实现相同的功能.但是,OSX中没有这样的包装命令.我尝试执行以下2个命令,然后在safari中执行我的测试用例.

Xvfb :99 -ac &
export DISPLAY=:99
Run Code Online (Sandbox Code Playgroud)

但是,通过Safari浏览器显示而不是在xvfb环境中运行.好像Safari完全忽略了DISPLAY命令.有没有办法在OSX上无头地运行Safari?

safari macos js-test-driver headless-browser xvfb

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

如何从Windows启动Android模拟器浏览器中的URL链接

我有问题.我想在Android浏览器中自动化测试.

我的要求:

我有JS Test Drivermaven项目需要在android浏览器中测试.

所以我想做的是

在maven pom.xml文件中,而不是指向chrome作为

<browser.command>C:\Program Files (x86)\Google\Chrome\Application\chrome.exe</browser.command>
Run Code Online (Sandbox Code Playgroud)

创建bat file哪个将运行在android模拟器浏览器中启动URL链接的命令并指向它bat file.

我的问题是我不知道写什么命令,将从命令行在Android模拟器浏览器中午餐特定的URL.

有什么建议?

android maven js-test-driver

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

将QUnit与JSTestDriver一起使用

我想使用JsTestDriver来驱动我的QUnit测试,但我对如何处理#qunit-fixture标记感到困惑.

标准的QUnit测试运行器是一个HTML页面.

<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <link rel="stylesheet" href="/qunit/qunit.css" type="text/css" />
  <script type="text/javascript" src="/qunit/qunit.js"></script>
  <script type="text/javascript" src="test-script.js"></script>
</head>
<body>
 ...
 <div id="qunit-fixture">
    *** tests depend on markup that goes here ***
 </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

JsTestDriver有一个可用于加载和运行test-script.js 的QUnitAdapter,但是我没有看到任何获取标记的调整#qunit-fixture.

我错过了什么吗?适配器是否应该能够运行现有的QUnit测试?或者它只是一种使用QUnit的断言框架与JsTestDriver的方法?

javascript unit-testing qunit js-test-driver

0
推荐指数
1
解决办法
3369
查看次数