JsTestDriver firefox浏览器崩溃

时间:2012-06-26 06:15:10

标签: linux firefox crash js-test-driver

我刚开始使用JsTestDriver并且我已经创建了非常简单的演示代码,以确定我是否正确配置了我的环境。然而,大约40-50%的时间我在启动Firefox时遇到以下错误(通过JsTestDriver)" Firefox在启动时意外关闭"。

如果我使用Chrome,则会出现错误。

我的环境包括:

  • VirtualBox 4.1.18运行Ubuntu 10.04.4 LTS 32位
  • Firefox 13.0.1
  • JsTestDriver-1.3.4.b
  • 的openjdk -6- JRE-无头

我正在执行:

java -jar /home/developer/bin/JsTestDriver.jar --port 9876 --browser /usr/bin/firefox --tests all --testOutput results

我的JsTestDriver配置是:

server: http://localhost:9876

load:
  - src/*.js

test:
  - test/*.js

timeout: 10

源代码(测试中的代码)是:

Person = function()
{
    this.firstName = "";
    this.lastName = "";

    this.fullName = function()
    {
        if((this.firstName != "") && (this.lastName != ""))
        {
            return this.lastName + ", " + this.firstName;
        }

        var name = this.firstName + " " + this.lastName;
        return name.trim();
    }
};

测试代码(基于JsTestDriver的代码)是:

PersonTest = TestCase("PersonTest");

PersonTest.prototype.testFullName = function()
{
    fixture = new Person();
    fixture.firstName = "John";
    fixture.lastName = "Doe";

    assertEquals("Doe, John", fixture.fullName());
};

PersonTest.prototype.testFullName_FirstNameOnly = function()
{
    fixture = new Person();
    fixture.firstName = "John";

    assertEquals("John", fixture.fullName());
};

PersonTest.prototype.testFullName_LastNameOnly = function()
{
    fixture = new Person();
    fixture.lastName = "Doe"

    assertEquals("Doe", fixture.fullName());
};

谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题可能在于您在运行测试时每隔时间打开浏览器。我认为一个不易出错的解决方案是启动服务器并让它捕获一些浏览器,然后让它运行。然后,您可以根据需要针对该服务器运行测试。我们的解决方案包括三台运行IE7,IE8,IE9,Firefox和Chrome的虚拟机,我们的Maven构建过程在每次构建时运行我们的javascript单元测试。另外,请确保始终使用'--reset'参数。它会让您的浏览器保持新鲜感。我写了一篇文章,展示如何将Qunit,Requirejs和代码覆盖与JSTD集成,独立于Maven:js-test-driver+qunit+coverage+requirejs。希望它有所帮助。